2016-10-24 24 views
0

私はXMLファイルから値を抽出したいが、私は既にいくつかの解決策を見出したが、私にとってはうまくいくものは見つけられなかった。ここでXMLファイルから値を取得

は私のサンプルXMLファイル(私はシリアル番号を抽出したい)

<Other TrashCodeSample="SampleTextHere"> 
    <Data key="SerialNumber">911987082611993854940173</Data><Data key="TrashNumber2">5346587345345</Data></Other> 

である私は、すでにいくつかのコードを得たが、それは私だけ

「データ」の最後の値を与えます
  XDocument doc = XDocument.Load(label3.Text); 

      var authors = doc.Descendants("Data"); 

      foreach (var author in authors) 
      { 
       textBox1.Text = (string) author; 
      } 

シリアル番号は私が取得したい値である:

<Data key="SerialNumber">911987082611993854940173</Data> 
私はXML

内のシリアル番号を編集する可能性のある場合、私は唯一の「データ」を持っていたが、ケースをないthatsの場合

  • それは簡単だろう..:/

+0

[C#でXmlReaderでXmlを読み込む]の複製があります(http://stackoverflow.com/questions/2441673/reading-xml-with-xmlreader-in-c-sharp) – Mark

答えて

0

LINQとC#を使用している場合は、doc.Descendants("Data").First(d => (string)d.Attribute("key") == "SerialNumber")を試して、そのdata要素にアクセスしてください。その後、.Valueプロパティを読み込んだり、設定したりすることができます。

+0

解決済み(: – RaINi

+0

シリアル番号を変更する方法はありますか? – RaINi

+0

'.Value'プロパティを' doc.Descendants( "Data")に設定することができました。最初に(d =>(文字列)d.Attribute( "key") == "SerialNumber")= "1234567890"; 'その' data'要素の内容を変更すると、 'doc.Save(" newfile.xml ")'メソッドを呼び出してファイルに保存し直す必要があります。 –

関連する問題