我正在尝试修改XML文档。 XML的结构如下:
<?xml version='1.0' encoding='iso-8859-1'?>
<Modelo39 xmlns="http://www.dgci.gov.pt/2002/OT" versao="1">
<Rosto>
<QuadroInicio />
<Quadro01>
<Q01C01>555555555</Q01C01>
</Quadro01>
<Quadro06>
<Rostoq06T>
</Rostoq06T>
</Quadro06>
</Rosto>
</Modelo39>
我正在尝试添加 Rostoq06T 这样的新节点:
<Rostoq06T-Linha numero="1">
<NIF>100000000</NIF>
<CodRend>01</CodRend>
<Rendimento>2500</Rendimento>
<Retido>500</Retido>
</Rostoq06T-Linha>
我正在创建一个名为 Rostoq06T-Linha 的新元素,并且我正确地将它添加到节点Rosto06T:
XmlElement node06T = xmlDoc.CreateElement("Rostoq06T-Linha");
node06T.SetAttribute("numero", linha.ToString());
//Here i add the elements to node06T
xmlDoc.DocumentElement.GetElementsByTagName("Rostoq06T").Item(0).AppendChild(node06T);
我的问题是Rosto06T-Linha是这样生成的:
<Rostoq06T-Linha numero="1" xmlns="">
如果此元素是 Rostoq06T 的子元素,我无法弄清楚为什么将 xmlns 属性添加到此节点。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:4)
因为您创建了Rostoq06T-Linha
元素没有命名空间,即。使用空命名空间。
您必须使用正确的CreateElement
重载
XmlElement node06T = xmlDoc.CreateElement("Rostoq06T-Linha","http://www.dgci.gov.pt/2002/OT");
不幸的是,你必须为你创建的所有孩子指定完整的命名空间!