C#对XML文件的操作

//reader xml by XmlTextReaer

XmlTextReader tr = new XmlTextReader(filename);
while (tr.Read())
  {
         if (tr.MoveToContent() == XmlNodeType.Element)
           {
            if (tr.Name == "nodename") pageWidth = tr.ReadElementString();
           }
}
tr.Close();

//write xml file by XmlTestWriter
XmlTextWriter tw = new XmlTextWriter(filename,null);
tw.Formatting = Formatting.Indented;
 tw.WriteStartDocument();
    tw.WriteStartElement("cfg"); //wirte node
               tw.WriteElementString("pageWidth", pageWidth); // write element
    tw.WriteEndElement();
 tw.WriteEndDocument();
tw.Flush();
tw.Close(); 


//有关xml的查询 采用Xpath检索数据

XPathDocument doc = new XPathDocument("file.xml");
XPathNavigator nav = doc.CreateNavigator();
XPathNodeItemrator iter = nav.Select("/books/book[@titile='a wolf with sheep']");

while(iter.MoveNext())
{
XPathNodeItemrator iterbook = iter.SelectDescendants(XPathNodeType.Element,false);
String strTemp = iterbook.Current.Value
}
 

回答: 在C#中,我们可以使用XmlReader和XmlDocument类来对XML文件进行操作。 使用XmlReader类,可以按顺序读取XML文件的内容,并执行相应的操作。首先,我们需要创建一个XmlReaderSettings对象,并设置一些选项,比如忽略空白和注释。然后,使用XmlReader.Create方法创建一个XmlReader实例,并传入文件路径和XmlReaderSettings对象。接下来,可以使用while循环和Read方法来遍历XML文件的节点,并执行相应的操作。\[1\] 使用XmlDocument类,可以加载整个XML文件,并使用XPath表达式来选择和操作XML节点。首先,我们需要实例化一个XmlDocument对象,并使用Load方法加载XML文件文件路径为绝对路径。然后,可以使用SelectSingleNode方法和XPath表达式来选择特定的节点。如果需要选择节点的子节点,可以使用ChildNodes属性将子节点集合成一个列表。\[2\] 下面是一个XML文件的示例: <bookstore> <book category="CHILDREN"> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> 使用C#XML文件进行操作,可以根据具体需求选择使用XmlReader或XmlDocument类。 #### 引用[.reference_title] - *1* *2* *3* [C#解析XML文件](https://blog.csdn.net/simplenthpower/article/details/128669633)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值