C# 作为子节点添加新节点会自动添加xmlns属性
我正在尝试修改一个XML文档。XML的结构如下所示:C# 作为子节点添加新节点会自动添加xmlns属性,c#,xml,xml-namespaces,C#,Xml,Xml Namespaces,我正在尝试修改一个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> </Quadr
<?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-Linha numero="1">
<NIF>100000000</NIF>
<CodRend>01</CodRend>
<Rendimento>2500</Rendimento>
<Retido>500</Retido>
</Rostoq06T-Linha>
<Rostoq06T-Linha numero="1" xmlns="">
我的问题是Rosto06T Linha的生成方式如下:
<?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-Linha numero="1">
<NIF>100000000</NIF>
<CodRend>01</CodRend>
<Rendimento>2500</Rendimento>
<Retido>500</Retido>
</Rostoq06T-Linha>
<Rostoq06T-Linha numero="1" xmlns="">
如果该元素是Rostoq06T的子元素,我不明白为什么要将属性xmlns添加到此节点
有人能帮我解决这个问题吗?因为您创建了
Rostoq06T Linha
元素,而没有名称空间,即空名称空间
必须使用正确的CreateElement
重载
XmlElement node06T = xmlDoc.CreateElement("Rostoq06T-Linha","http://www.dgci.gov.pt/2002/OT");
不幸的是,您必须为您创建的所有子项指定完整的命名空间 因为您创建了
Rostoq06T Linha
元素,而没有名称空间,即空名称空间
必须使用正确的CreateElement
重载
XmlElement node06T = xmlDoc.CreateElement("Rostoq06T-Linha","http://www.dgci.gov.pt/2002/OT");
不幸的是,您必须为您创建的所有子项指定完整的命名空间 您好,我认为您应该指定在调用xmlDoc.CreateElement时希望将XmlNode作为节点类型,查看重载…您好,我认为您应该指定在调用xmlDoc.CreateElement时希望将XmlNode作为节点类型,查看重载…这是必须发送到资源的XML。您认为在Rostoq06T Linha中使用xmls属性会影响XML的整个验证吗?
xmlns
不是一个属性,而是一个名称空间定义。元素上的命名空间不正确与元素上的本地名称不正确相当。谢谢。我已经像在中一样添加了名称空间,现在,当我保存xml文档时,在中只有一个名称空间。所有其他空的xml名称空间都消失了。我猜这是因为编译器看到名称空间已经在父节点中,所以他没有添加另一个具有相同值的名称空间。这是一个必须发送到资源的XML。您认为在Rostoq06T Linha中使用xmls属性会影响XML的整个验证吗?xmlns
不是一个属性,而是一个名称空间定义。元素上的命名空间不正确与元素上的本地名称不正确相当。谢谢。我已经像在中一样添加了名称空间,现在,当我保存xml文档时,在中只有一个名称空间。所有其他空的xml名称空间都消失了。我猜这是因为编译器看到名称空间已经在父节点中,所以他没有添加另一个具有相同值的名称空间。