简体   繁体   English

通过标签读取xml并编写

[英]reading xml by tag and writing

reading xml by tag in a foreach loop example xml: 在foreach循环示例xml中按标记读取xml:

<users>
 <user>
  <id>12345567</id> 
  <name>Ronsna Stedinberg</name> 
 </user>
 <user>
  <id>12345568</id> 
  <name>Sonsna Dtedinberg</name> 
 </user>  
</users>

now i would like to save a tag to a new file with all its sub tags 现在我想将标签及其所有子标签保存到新文件中

This is how you would loop the user nodes 这就是循环用户节点的方式

string xml = @"<users><user><id>12345567</id><name>Ronsna Stedinberg</name></user><user><id>12345568</id><name>Sonsna Dtedinberg</name></user></users>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);

XmlNodeList nodeList = doc.SelectNodes("//users/user");
foreach (XmlNode node in nodeList)
{
    string id = node.SelectSingleNode("id").InnerText;
    string name = node.SelectSingleNode("name").InnerText;
}

A Linq to XML approach: Linq to XML方法:

// Assuming your xml is named data.xml
XDocument xml = XDocument.Load("data.xml");

var tags = from x in xml.Descendants("user")                       
               select new
               {
                   id = x.Element("id").Value,
                   name = x.Element("name").Value
               };

foreach (var tag in tags)
{
    Console.WriteLine(tag.id);
    Console.WriteLine(tag.name);
}                        

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM