1

C# と XDcoument を使用してノードをルート要素に追加しています。私はこのコードを使用します:

XElement miAnimalNuevo = new XElement("PrincipalNode",
                new XAttribute("Atribute1", "value attribute 1"),
                new XAttribute("Attribute2", "value attribute 2"),
                new XElement("subNode","0000"));

しかし、私はこれを取得します:

<PrincipalNode Atribute1="value attribute 1" Attribute2="value attribute 2" xmlns="">
    <subNode>0000</subNode>
  </PrincipalNode>

属性 2 の後に、xmlns="" が表示されます。なんで?欲しいのは属性だけ。

ありがとう。

4

1 に答える 1

3

これは、ツリーの上位のどこかに名前空間が定義されている XML ドキュメントがある場合に発生します。

その名前空間ではなく、空の名前空間 (つまり、名前空間がない) に要素を追加すると、空のxmlns属性が追加されます。

<xml xmlns="some_namespace_uri">
  <foo>The foo element inherits the 'some_namespace_uri' namespace</foo>
  <bar xmlns="">The bar element is in no namespace</bar>
</xml>

関連: xmlns="" は有効な xml 名前空間ですか?

于 2013-05-21T07:40:42.143 に答える