我使用pugi xml解析XML,它不是名称空间感知解析器(请参阅Using Boost to read and write XML files)。我试图弄清楚这可能有多大的问题,但问题是我不能100%理解XML名称空间的用途。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>
元素 - 我d丢失活动/存档信息。但是,我不确定我是否会在现实世界中遇到过这种类型的命名空间。在这种情况下,似乎更好地使用属性来查看活动/归档信息。有人能帮助我更好地理解命名空间的使用情况,所以我可以通过坚持使用pugi xml来更好地了解我会失去什么?
该文档暗示[namespace-uri()'XPath函数存在](http://pugixml.org/docs/manual.html#v0.5),并且[您可以通过其名称空间前缀来选择节点](http://pugixml.org/docs/manual.html#xpath.w3c)。所以,pugixml看起来并不完全是名称空间不知道的。 – Tomalak