问题描述:读取一个xml文件,遍历到特定的节点(元素),如果没有特定的命名空间声明,添加需要的命名空间声明,并写出文件。
我需要使用 Microsoft 的 MSXML DOM API 在 C++ 中执行此操作。根据此 msdn参考,IXMLDOMNode COM 对象上的 namespaceURI 属性是只读的。感谢任何解决方法。
编辑:我花了很多时间在一个解决方法上:在同一个文档中使用我需要的命名空间创建一个新的兄弟节点,然后将原始节点的所有子元素移动到这个新节点,然后删除原始节点。好吧,这不起作用,因为子节点将保留它们之前拥有的任何默认命名空间。
然后这个简单的想法击中了我并且它有效,但我不确定它是否会在未来咬我:只需在元素上创建一个“xmlns”属性,为其提供所需的命名空间值!任何意见?