XML

时间:2018-03-22 17:08:48

标签: xml pugixml

我有一个XML节点,我想表示两个整数值和一个整数数组。我选择这样做:

<MyNode a="4" b="8">
    <c_array>
        <c_value>"1"</c_value>
        <c_value>"2"</c_value>
        <c_value>"3"</c_value>
    </c_array>
</MyNode >

我想通过将a和b表示为属性而将c表示为节点来表示我是否存在不一致性。但似乎可以将属性读取为整数:

int a = myNode.attribute("a").as_int();

但节点本身只有value()方法,返回char *。这是什么原因?

我的'不一致'是否合理?

我没有读取c的值(我正在使用pugixml):

pugi::xml_node myNode = parentNode.child("MyNode");
pugi::xml_node c_array = parentNode.child("c_array");
for (pugi::xml_node c_value = c_array.child("c_value"); c_value; c_value = c_value.next_sibling("c_value"))
{
    printf("c value: %s\n", c_value.value());
}

使用此代码,不会打印任何值。知道为什么吗? c_value的值是否应该在引号中?

0 个答案:

没有答案