0

重複の可能性:
C#を使用してXMLの文字列値を更新する必要があります

次のようなxmlファイルがあります。

<MediaContent>
  <PublishInfo region="A"  publishState="NotPublished"  />
  <PublishInfo region="B"  publishState="Published"  />
<MediaContent/>

リージョンBの「publishState」を「Unpublished」に更新できるように、要素をループしたいと思います。リージョンAのpublishStateしか更新できませんでした。

誰かが私に地域Bに到達し、この地域のpublishStateを更新する方法を教えてもらえますか?

よろしく

4

2 に答える 2

0

LINQ to XMLで簡単に実行できます。

XDocument xdoc = XDocument.Load(path_to_xml);
// get PublishInfo elements with region B
var query = xdoc.Descendants("PublishInfo")
                .Where(pi => (string)pi.Attribute("region") == "B");
// update elements
foreach (var element in query)
    element.Attribute("publishState").Value = "NotPublished";
// save xml
xdoc.Save(path_to_xml);
于 2012-12-24T13:35:20.573 に答える
0

簡単な方法は、Linq2Xml を使用することです。含む

    using System.Xml.Linq;

このようにファイルをロードします

    XDocument loaded = XDocument.Load(@"C:\test.xml");

次に、このリンクの「データのクエリ」セクションを確認してください

于 2012-12-24T13:35:45.257 に答える