我使用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