如何循环遍历xml元素以使用C#更新一个元素
本文关键字:元素 更新 一个 何循环 循环 遍历 xml | 更新日期: 2023-09-27 17:49:20
可能重复:
需要使用C#更新XML中的字符串值
我有一个xml文件,如下所示:
<MediaContent>
<PublishInfo region="A" publishState="NotPublished" />
<PublishInfo region="B" publishState="Published" />
<MediaContent/>
我想循环遍历元素,这样我就可以将区域B的"publishState"更新为"Unpublished"。我只能更新区域A的发布状态。
有人能告诉我如何到达B地区并更新该地区的发布状态吗。
问候
您只需使用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);
一个简单的方法是使用Linq2Xml。包括
using System.Xml.Linq;
像这样加载你的文件
XDocument loaded = XDocument.Load(@"C:'test.xml");
然后查看此链接中的"查询您的数据"部分