2017-12-29 15 views
0

XMI構造を再構築しようとしています。だから、そのために私はそうXMLElementのを作成し、私が手にするように、名前空間URLを使用してコードXelementのsetattributeプロパティで属性名が重複しています

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"); 

の下に使用して属性を追加しようとしました

<node xmi:type="shape" xmi:id="12358" type="rectangle"> 
</node > 

以下のような子ノードを追加する必要があります接頭語XMI:属性のいずれか1つ。

しかし残念ながらXML要素は同じ属性として、両方のタイプという名前の属性を扱い、私は以下のように出力を与える

<node xmi:type="rectangle" xmi:id="12358"> 
</node > 

私が欲しいの両方XMI:node.Howでタイプタイプ属性へそれを達成する?

答えて

1

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"); 
+0

これは本当ですか?デフォルトのプレフィックス名を持つ別のものが追加されたためです。 – lucky

+0

@Rainman - 動作しているようですが、https://dotnetfiddle.net/VDnQawを参照してください。 – dbc

関連する問題