属性名称在Xelement的setattribute属性中重叠
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了属性名称在Xelement的setattribute属性中重叠相关的知识,希望对你有一定的参考价值。
我正在尝试重新构建XMI结构。所以为此我需要添加如下的子节点
<node xmi:type="shape" xmi:id="12358" type="rectangle">
</node >
因此创建了一个XMLElement并尝试使用下面的代码添加属性
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", "rectangle");
使用命名空间URL,以便我在其中一个type属性中获得前缀XMI:
但不幸的是,XML元素将两个类型命名的属性视为相同的属性,并给我一个输出如下
<node xmi:type="rectangle" xmi:id="12358">
</node >
我想要一个节点中的xmi:type和type属性。如何实现它?
答案
您应该将null
提供给SetAttribute
方法的namespaceURI参数。
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");
以上是关于属性名称在Xelement的setattribute属性中重叠的主要内容,如果未能解决你的问题,请参考以下文章
关于getAttribute与setAttribute(节点属性)的用法
C#:如何从 XElement 中获取名称(带前缀)作为字符串?