我的XML看起来像这样:
<?xml version = "1.0" encoding = "utf-8"?>
<gallery>
<name>Rosie's Gallery</name>
<image>
<order>0</order>
<url>images/HappyIcon.jpg</url>
<title>Happy</title>
</image>
<image>
<order>1</order>
<url>images/SickIcon.jpg</url>
<title>Sick</title>
</image>
</gallery>
如果我有可用的网址值,我该如何更改相应的标题值?我一直试图解决这个问题,但我遇到了障碍。
答案 0 :(得分:1)
如果您使用LinqToXml,它看起来像: (假设您没有重复的网址)
var urlValue = "images/SickIcon.jpg";
var newTitle = "New Title";
XDocument xdoc = XDocument.Load("<uri to file>");
XElement xImage = XDocument.root
.Descendants("image")
.FirstOrDefault(element => element.Elements("url").Any()
&& element.Elements("title").Any()
&& element.Elements("url").First().Value == urlValue);
if (xImage != null)
{
xImage.Elements("title").First().Value = newTitle;
}
答案 1 :(得分:1)
XDocument xDoc = XDocument.Load(new StringReader(xmlstr));
string url="images/SickIcon.jpg";
var image = xDoc.Descendants("image")
.Where(x => x.Element("url").Value == url)
.First();
image.Element("title").Value = "Renamed Value";