2009-03-06 18 views
2

私はXElementを持っていて、その要素の中に別のXMLフラグメントがあります。 XMLをどのように取得するのですか?XElementからXMLフラグメントを文字列として取得するにはどうすればよいですか?

私は次のことをしようとすると、私は唯一の値を取得:

string str = "<Root><Node1>value1</Node1><Node2></Node2></Root>"; 

XElement elem = XElement.Parse(str); 
string innerXml = elem.value; 

答えて

2

エリックホワイトはちょうどまさにそれを行うには、ブログの記事を掲載 - XElementオブジェクトを変換しますXmlNodeに戻ります。

hereを確認してください。

マルク・

ルートを含むXMLを与えるが、私はそれが私のすべての子孫の列挙を返しますので、私は取得するには、各要素を追加する必要があります、それがうまくいくと思ういけないInnerXmlプロパティ
1

はこのような何かを試してみてください:

var x = elem.Descendants(); 

これはあなたに、ルートノードのすべての子孫を返します - あなたがしたい場合このメソッドに文字列パラメータとしてその名前を渡すことができます。

編集:本当にあなた場合は、ノードを集約することができ、それを文字列として必要です。ここではトリックを行います拡張メソッドは次のとおりです。

public static String InnerXml(this XElement source) 
{ 
    return source.Descendants().Select(x => x.ToString()).Aggregate(String.Concat); 
} 
+0

innerXml –

+1

たい –

0

私はちょうど私を返すように拡張メソッドのInnerXmlプロパティを作成しようとしてInnerXmlプロパティ

関連する問題