zoukankan      html  css  js  c++  java
  • 30天C#基础巩固----查找XML文件元素

    一:XML文档

    了解xml文档。

    image

    利用代码来创建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文件。

    image

    ---->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");

    image

    --->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);
                }
            }
        }

    image

  • 相关阅读:
    hibernate01
    利用Struts2拦截器完成文件上传功能
    layui的CRUD案例
    最大流dinic模板 poj1273
    CodeForces
    POJ 2139 Six Degrees of Cowvin Bacon (floyd)
    POJ 3259 Wormholes (floyd或者spfa)
    POJ 3615 Cow Hurdles (flyod)
    Codeforces Round #446 (Div. 1) A. Pride
    Educational Codeforces Round 34 A. Hungry Student Problem
  • 原文地址:https://www.cnblogs.com/netxiaohui/p/5554433.html
Copyright © 2011-2022 走看看