C# Xelement的setattribute属性中的属性名称重叠

C# Xelement的setattribute属性中的属性名称重叠,c#,xml,xml-parsing,xmldocument,C#,Xml,Xml Parsing,Xmldocument,我正在尝试重新构建一个XMI结构。因此,我需要附加一个子节点,如下所示 <node xmi:type="shape" xmi:id="12358" type="rectangle"> </node > 使用名称空间URL,以便在其中一个type属性中获得前缀XMI: 但不幸的是,XML元素将两个类型命名的属性视为相同的属性,并提供如下输出 <node xmi:type="rectangle" xmi:id="12358"> </node >

我正在尝试重新构建一个XMI结构。因此,我需要附加一个子节点,如下所示

 <node xmi:type="shape" xmi:id="12358" type="rectangle">
 </node >
使用名称空间URL,以便在其中一个type属性中获得前缀XMI:

但不幸的是,XML元素将两个类型命名的属性视为相同的属性,并提供如下输出

 <node xmi:type="rectangle" xmi:id="12358">
 </node >
我希望在节点中同时使用xmi:type和type属性。如何实现它?

您应该为SetAttribute方法的namespaceURI参数指定null


你确定吗?因为添加了另一个具有默认前缀名称的。
 <node xmi:type="rectangle" xmi:id="12358">
 </node >
XmlElement child = papNotdoc.CreateElement("node");
child.SetAttribute("type", "http://www.omg.org/XMI", "Shape");
child.SetAttribute("id", "http://www.omg.org/XMI", "12358");
child.SetAttribute("type", null, "rectangle");