我正在使用 _di_IXMLDocument 创建一个用于在 Excel 中显示的 xml 文件。但是对于某些标签,我得到了一个不需要的额外(空)xmlns 属性女巫,这使得文件对于 Excel 来说不可读...... 这就是我所做的:
...
_di_IXMLNode worksheet = workbook->AddChild("Worksheet");
worksheet->SetAttribute("ss:Name",Now().DateString());
...
结果是这样的:
<Worksheet xmlns="" ss:Name="2008-12-11">
xmlns从何而来?我该如何摆脱它?
编辑: 更多信息:如果我自己尝试向 Worksheet 添加 xmlns 属性,如下所示:
...
_di_IXMLNode worksheet = workbook->AddChild("Worksheet");
worksheet->SetAttribute("xlmns","Foo");
worksheet->SetAttribute("ss:Name",Now().DateString());
...
那么“Worksheet”的子节点全部取而代之的是空的xmlns属性!
<Worksheet xmlns="Foo" ss:Name="2008-12-11">
<Table xmlns="">
最佳答案
xmlns代表xml命名空间,如果一个属性没有明确的命名空间,它就没有。
关于c++ - _di_IXMLNode 中不需要的 xmlns ="",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/358972/