30天C#基础巩固----查找XML文件元素
Posted —阿辉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了30天C#基础巩固----查找XML文件元素相关的知识,希望对你有一定的参考价值。
一:XML文档
了解xml文档。
利用代码来创建XML文档。
//引用命名空间+using System.Xml;
XmlDocument xdoc=new XmlDocument(); XmlDeclaration xdec = xdoc.CreateXmlDeclaration("1.0", "gb2312",null); //设置版本信息 xdoc.AppendChild(xdec); //设置节点root XmlElement xele = xdoc.CreateElement("root"); xdoc.AppendChild(xele); //设置节点的属性id; XmlAttribute xatt = xdoc.CreateAttribute("id"); xatt.Value = "ahui"; //id=ahui; //设置节点的文本内容。 XmlText xtText = xdoc.CreateTextNode("aaaaaaaa"); xele.AppendChild(xtText); //文本加入root节点下面。 xele.Attributes.Append(xatt); //属性id加入root属性下。 xdoc.Save("1.xml"); //保存xml文件。
---->Linq To Xml
//引用命名空间,using System.Xml.Linq; XDocument Xdoc=new XDocument(); XElement xele=new XElement("root","你好,世界"); XAttribute xatt=new XAttribute("id","002"); Xdoc.Add(xele); xele.Add(xatt); Xdoc.Save("2.xml");
--->XML 的查找
从xml文本中找到name=”张辉01”的,返回父节点。
class Program { static void Main(string[] args) { #region 查找XML //读取本地的xml文件。 XDocument xdoc = XDocument.Load("ahui.xml"); List<XElement> xele=new List<XElement>(); SearchElementsZhanHui(xdoc.Root,xele); foreach (XElement item in xele) { Console.WriteLine(item.Name); } Console.ReadKey(); #endregion } /// <summary> /// 查找XML文档中的name=张辉01的。 /// </summary> /// <param name="ele"></param> /// <param name="list"></param> public static void SearchElementsZhanHui(XElement ele,List<XElement> list ) { //首先遍历ele的所有节点 //ele.Elements()+按文档顺序返回此元素或文档的子元素集合 foreach (XElement item in ele.Elements()) { //判断这个元素是否为张辉01 if (item.Name.LocalName=="name") { if (item.Value == "张辉01") { list.Add(item.Parent); } } //如果item里面还有子节点就递归。 SearchElementsZhanHui(item,list); } } }
以上是关于30天C#基础巩固----查找XML文件元素的主要内容,如果未能解决你的问题,请参考以下文章