编辑Xml节点

时间:2009-05-17 13:41:52

标签: c# xml

我有一个xml文档,其中一个带有特定名称的xml节点,比如'Data'可以出现在xml文档的任何地方,即层次结构中的任何位置。我需要仅使用节点名称读取这些节点并编辑节点属性。最简单的方法是什么?

4 个答案:

答案 0 :(得分:4)

XmlDocument doc = new XmlDocument();
doc.Load(@"Test.xml");
XmlNodeList elem = doc.GetElementsByTagName("Data");
foreach (XmlNode tag in elem)
{
 //do whatever you want to the attribute using SetAttribute method
}

XmlElement.GetElementsByTagName Method可以解决问题

答案 1 :(得分:3)

使用XPath,您可以找到所有数据节点: -

foreach(XmlElement elem in dom.SelectNodes("//Data"))
{
    //do stuff to each elem.
}

其中dom是一个用Xml加载的XmlDocument。

或者,如果您更喜欢XDocument: -

foreach(XElement elem in doc.Descendents("Data"))
{
    //do stuff to each elem.
}

答案 2 :(得分:1)

也许这样的事可能适合你?

XmlNodeList dataNodes = xmlDocument.SelectNodes('//Data')

foreach(XmlNode node in dataNodes)
{
  .. // do whatever you need to do
}

马克

答案 3 :(得分:1)

这样的事情:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(fileName);

XmlNodeList nodes = xmlDoc.SelectNodes("//Data");
for (int i = 0; i < nodes.Count; i++)
{
    nodes[i].Attributes["somevalue"].Value = "edited";
}

xmlDoc.Save(fileName);