0

可能重复:
需要使用 C# 更新 XML 中的字符串值

我有一个如下所示的 xml 文件:

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

我想循环遍历元素,以便可以将区域 B 的“publishState”更新为“未发布”。我只能更新区域 A 的 publishState。

谁能告诉我如何到达区域 B 并更新该区域的发布状态。

问候

4

2 回答 2

0

一个简单的方法是使用 Linq2Xml。包括

    using System.Xml.Linq;

像这样加载你的文件

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

然后查看此链接中的“查询您的数据”部分

于 2012-12-24T13:35:45.257 回答
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 回答