使用libxml2库

时间:2016-06-29 18:09:54

标签: c++ xml xml2

我有一个XML文件,如下所示

<root>
<Radii1 VT = "121212 121212"/>
</root>

我正在尝试使用libxml2库读取xml。

cur = cur->xmlChildrenNode;
while (cur != NULL) {
if ((!xmlStrcmp(cur->name, (const xmlChar *)"Radii1"))){

    }

cur = cur->next;
}

现在,我的问题是如果我正在打印cur-&gt;名称,首先它会给我文本,然后下次它会给我Radii1并且下次再次给出文本然后将退出代码。

我不确定为什么会发生xml的格式不正确?

1 个答案:

答案 0 :(得分:1)

XML格式是正确的,但节点不仅仅是XML实体。您在XML文档中看到了表示文档文本部分的节点;即XML实体之间的空格 - 特别是换行符。

您要做的是检查cur-&gt;类型中的值,无论是XML_ELEMENT_NODE还是XML_TEXT_NODE;或者其他各种XML节点,并决定你想用它们做什么。

如果您要搜索某个特定属性,例如“VT”,则它将是XML_ATTRIBUTE_NODE Radii1的子XML_ELEMENT_NODE之一。