30天C#基础巩固----查找XML文件元素

简介: 30天C#基础巩固----查找XML文件元素

一:XML文档


了解xml文档。



679140-20160602211845461-1473824059.png


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


679140-20160602211849899-276765307.png


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


679140-20160602211852008-1430697289.png


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




679140-20160602211855571-393646281.png





目录
相关文章
|
9月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
388 19
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
378 1
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
376 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
存储 监控 算法
基于 C# 的局域网计算机监控系统文件变更实时监测算法设计与实现研究
本文介绍了一种基于C#语言的局域网文件变更监控算法,通过事件驱动与批处理机制结合,实现高效、低负载的文件系统实时监控。核心内容涵盖监控机制选择(如事件触发机制)、数据结构设计(如监控文件列表、事件队列)及批处理优化策略。文章详细解析了C#实现的核心代码,并提出性能优化与可靠性保障措施,包括批量处理、事件过滤和异步处理等技术。最后,探讨了该算法在企业数据安全监控、文件同步备份等场景的应用潜力,以及未来向智能化扩展的方向,如文件内容分析、智能告警机制和分布式监控架构。
309 3
基于 C# 编写的 Visual Studio 文件编码显示与修改扩展插件
基于 C# 编写的 Visual Studio 文件编码显示与修改扩展插件
555 9
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
1324 8
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
239 3
|
存储 C#
【C#】大批量判断文件是否存在的两种方法效率对比
【C#】大批量判断文件是否存在的两种方法效率对比
557 1
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
902 0

相关课程

更多