使用 pugixml 将 xml 命名空间添加到 xml_document

Add xml namespace to xml_document using pugixml

如何使用 pugixml 向我的 xml_document 添加 xml namespace 声明?

我试过了,这导致了无效的 xml(无效的字符“:”,我的验证器说):

xml_document doc;

auto declarationNode = doc.append_child(node_declaration);

declarationNode.append_attribute("xmlns\:xsi") = "http://www.w3.org/2001/XMLSchema-instance";

我想命名空间声明与 xml 属性不同。

但是我怎样才能添加那个命名空间声明呢?

我引用了 zeux,pugixml 的创建者,他非常友好地回答了这个问题 here on github

This code appends the xmlns attribute to the node; you should append it to the document element instead:

doc.document_element().append_attribute("xmlns:xsi") = "http://www.w3.org/2001/XMLSchema-instance";

The code I noted adds the attribute to “rootnode” element and as such must be ran after you add rootnode to the document.