【问题标题】:Parsing xml with colon using libxml使用 libxml 解析带有冒号的 xml
【发布时间】:2013-05-31 22:06:22
【问题描述】:

我在尝试解析包含“冒号”的 XML 文件时遇到问题。

例如:

<PropertyList:Property>
    <property:Condition Mode="ON" />
    <property:Setting max="128" />
</PropertyList:Property>

虽然不带冒号的文件解析对我来说是完美的。 我正在使用来自 xmlsoft 的 ibxml 库。我意识到解析不起作用的第一条指令是当我这样做时

xmlDocPtr doc = xmlParseFile("XMLFile.xml");

返回 NULL。

谢谢!

【问题讨论】:

    标签: c++ xml xml-parsing libxml2


    【解决方案1】:

    元素名称中的冒号不仅仅是一个常规字符——它定义了一个XML namespace。必须声明命名空间才能使用 - 例如:

    <root xmlns:PropertyList='http://www.example.org/schema'>
    

    您的文档的一个可能问题是它没有声明使用的命名空间,这会导致解析错误。

    【讨论】:

      最近更新 更多