Xml 使用 libxml2 库读取

Xml read using libxml2 library

我有一个 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->name,首先它会给我文本,然后下一次会给我 Radii1,然后再下一次会给出文本,然后退出代码。

我不确定为什么会这样 xml 的格式不正确?

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

您要做的是检查 cur->type 中的值,是否是 XML_ELEMENT_NODEXML_TEXT_NODE;或其他各种 XML 节点中的任何一种,然后决定你想用它们做什么。

如果您要搜索特定属性,例如 "VT",它将是 Radii1 XML_ELEMENT_NODE 的子项 XML_ATTRIBUTE_NODE 之一。