【发布时间】:2016-11-26 02:37:33
【问题描述】:
我正在使用 pugi xml 解析 XML,它不是一个名称空间感知解析器(请参阅 Using Boost to read and write XML files)。我试图弄清楚这可能是一个多大的问题,但问题是我没有 100% 了解 XML 命名空间的用途。
下面是一些有问题的 XML(我创建的)示例:
<Results>
<Documents xmlns:active="...">
<Document>...</Document>
</Documents>
<Documents xmlns:archived="...">
<Document>...</Document>
<Document>...</Document>
<Document>...</Document>
<Document>...</Document>
</Documents>
</Results>
给定一个像/Results/Documents/Document 这样的XPath 表达式,pugi 可以为我做的就是提取所有<Document> 元素——我会丢失活动/存档信息。但是,我不确定我是否曾经在现实世界中遇到过这种类型的命名空间使用。在这种情况下,似乎最好使用属性来获取活动/存档信息。有人可以帮助我更好地了解使用命名空间的情况,以便我可以更好地了解坚持使用 pugi xml 会失去什么?
【问题讨论】:
-
文档暗示the
namespace-uri()XPath function exists 和you can select nodes by their namepace prefix。因此,pugixml 看起来并不完全不知道命名空间。
标签: xml xml-namespaces pugixml