2012-01-05 7 views
1

私はコンソールアプリケーションでname属性の値を解析したいテキストファイルに貼り付けたxmlのスニペットを持っています。ランダムxmlノードのテキストファイル

FIELD_ONE 
FIELD_TWO 
+0

使用している.NETのバージョンは? – msarchet

+1

何を試しましたか?あなたは私たちがあなたのためにコードを書くことを期待していませんか? –

+0

以下の返信でコードを試しました。 – Rod

答えて

1

あなたはXDocument

を使用する必要があります。以下のようになります。

string myXmlString = 

     @"<?xml version=""1.0""?> 
     <!-- comment at the root level --> 
     <Root> 
      <data name=""FIELD_ONE"" xml:space=""preserve""> 
       <value>Accompaniment:</value> 
      </data> 
      <data name=""FIELDS_TWO"" xml:space=""preserve""> 
       <value>Accompaniment Detail</value> 
      </data> 
     </Root>"; 

私はそれをコピーして貼り付けることができますので、それはちょうど私のコンソールに

を値を表示したいのですが

ファイルまたは文字列からロードするかどうかに応じて、XDocument.LoadまたはXDocument.Parseのいずれかを使用してXDocumentを作成します。

次に、書き込むことができる各値を取得します。

XDocument yourXML = //load it here; 

foreach(var element in yourXML.Elements("Root").Elements("data")) 
{ 
    Console.WriteLine(element.Attribute("name").ToString()); 
} 
+0

xmlは完全に有効でなければならないのですが、これもまた大きなファイルから取り出したxmlのスニペットです。私はちょうどこの小さなセクションで作業したいです。 – Rod

+0

私は上記のXMLを変更しましたが、doc.Elements( "data")がnullになります – Rod

+0

おそらく読み込みに名前空間を追加する必要があります。編集。 – msarchet