search
  • Sign In
  • Sign Up
Password reset successful

Follow the proiects vou are interested in andi aet the latestnews about them taster

Table of Contents
XDocument">XDocument
XmlDocument">XmlDocument
">##Summary
Home Backend Development XML/RSS Tutorial XML (3) XDocument and XmlDocument recursively read xml files

XML (3) XDocument and XmlDocument recursively read xml files

Feb 10, 2017 pm 04:31 PM
xml

Read the xml file into the TreeView through XDocument and XmlDocument, which mainly recursively loads the elements under the xml into the TreeView control.

XDocument

Steps:

(1) Load xml file

(2) Get the root node

(3)Load the xml root element to the TreeView root node

(4) Recursively load elements below the root element (create a method here)


<span style="font-size:18px;">//1、读取xml文件(XDocument)
            //加载xml文件
            XDocument document = XDocument.Load("list1.xml");
            //2、先获取根节点
            XElement rootElement = document.Root;
            //3、将xml的根元素加载到TreeView的根节点上
            TreeNode rootNode = treeView1.Nodes.Add(rootElement.Name.ToString());
            //4、递归加载
            LoadXmlToTreeView(rootElement, rootNode.Nodes);</span>


<span style="font-size:18px;"> private void LoadXmlToTreeView(XElement rootElement, TreeNodeCollection treeNodeCollection)
        {
            //获取根元素rootElement下面的所有直接子元素
            //rootElement.Elements();
            foreach (XElement item in rootElement.Elements())
            {
                if (item.Elements().Count()==0)
                {

                    treeNodeCollection.Add(item.Name.ToString ()).Nodes .Add(item.Value);
                }
                else
                {
                    //将当前子元素加到TreeView的节点集合上
                    TreeNode node = treeNodeCollection.Add(item.Name.ToString());
                    LoadXmlToTreeView(item, node.Nodes);
                }
                

            }
        }</span>


XmlDocument

Steps: The first three steps of XmlDocument are similar to those of XDocument. The difference is the fourth step. Recursive loading can be seen mainly from the code.


<span style="font-size:18px;">//1、加载xml文件到对象
            XmlDocument document = new XmlDocument();
            //2、将xml文件加载到dom对象上
            document.Load("List1.xml");
            //3、获得xml根节点
            XmlElement rootElement = document.DocumentElement;
            //将xml根元素加载到TreeView上
            TreeNode rootnode = treeView1.Nodes.Add(rootElement.Name);
            //实现递归将xml文件加载到treeview上
            LoadxmltoTreeViews(rootElement, rootnode.Nodes);</span>
<span style="font-size:18px;">private void LoadxmltoTreeViews(XmlElement rootElement, TreeNodeCollection treeNodeCollection)
        {

            //循环rootElement下的所有子元素加载到TreeNodeCollection集合中
            foreach (XmlNode item in rootElement.ChildNodes)
            {
                //在继续之前需要判断一下当前节点是什么类型的节点
                if (item.NodeType ==XmlNodeType .Element )
                {
                    //如果当前节点是一个元素,则把该元素加载到TreeView上
                    TreeNode node= treeNodeCollection.Add(item.Name);
                    //递归调用
                    LoadxmltoTreeViews((XmlElement)item, node.Nodes);

                }
                else if (item.NodeType ==XmlNodeType .Text |item.NodeType ==XmlNodeType .CDATA)
                {
                    treeNodeCollection.Add(item.InnerText);

                }
            }
        }</span>


##Summary

(1) XmlDocument is more complicated than XDocument.

(2) XmlDocument is a standard xml reading and writing class, so it has a wide range of extensions. XDocument is an upgraded version of XmlDocument and may not be used on other platforms, because these platforms may The original XmlDocument is used, but some methods or properties of XDocument do not exist here. So there are certain limitations.

(3) The syntactic sugar var in the foreach loop can identify the type for XDocument, but not for XmlDocument, but the parent class of XmlElement's parent class is XmlNode.


The above is XML (3) XDocument and XmlDocument recursively read the content of the xml file. For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com )!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

ArtGPT

ArtGPT

AI image generator for creative art from text prompts.

Stock Market GPT

Stock Market GPT

AI powered investment research for smarter decisions

Popular tool

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

JSON vs. XML: Why RSS Chose XML JSON vs. XML: Why RSS Chose XML May 05, 2025 am 12:01 AM

RSS chose XML instead of JSON because: 1) XML's structure and verification capabilities are better than JSON, which is suitable for the needs of RSS complex data structures; 2) XML was supported extensively at that time; 3) Early versions of RSS were based on XML and have become a standard.

RSS in XML: Decoding Tags, Attributes, and Structure RSS in XML: Decoding Tags, Attributes, and Structure Apr 24, 2025 am 12:09 AM

RSS is an XML-based format used to publish and subscribe to content. The XML structure of an RSS file includes a root element, an element, and multiple elements, each representing a content entry. Read and parse RSS files through XML parser, and users can subscribe and get the latest content.

Understanding RSS Documents: A Comprehensive Guide Understanding RSS Documents: A Comprehensive Guide May 09, 2025 am 12:15 AM

RSS documents are a simple subscription mechanism to publish content updates through XML files. 1. The RSS document structure consists of and elements and contains multiple elements. 2. Use RSS readers to subscribe to the channel and extract information by parsing XML. 3. Advanced usage includes filtering and sorting using the feedparser library. 4. Common errors include XML parsing and encoding issues. XML format and encoding need to be verified during debugging. 5. Performance optimization suggestions include cache RSS documents and asynchronous parsing.

XML's Advantages in RSS: A Technical Deep Dive XML's Advantages in RSS: A Technical Deep Dive Apr 23, 2025 am 12:02 AM

XML has the advantages of structured data, scalability, cross-platform compatibility and parsing verification in RSS. 1) Structured data ensures consistency and reliability of content; 2) Scalability allows the addition of custom tags to suit content needs; 3) Cross-platform compatibility makes it work seamlessly on different devices; 4) Analytical and verification tools ensure the quality and integrity of the feed.

Building XML Applications with C  : Practical Examples Building XML Applications with C : Practical Examples May 03, 2025 am 12:16 AM

You can use the TinyXML, Pugixml, or libxml2 libraries to process XML data in C. 1) Parse XML files: Use DOM or SAX methods, DOM is suitable for small files, and SAX is suitable for large files. 2) Generate XML file: convert the data structure into XML format and write to the file. Through these steps, XML data can be effectively managed and manipulated.

RSS, XML and the Modern Web: A Content Syndication Deep Dive RSS, XML and the Modern Web: A Content Syndication Deep Dive May 08, 2025 am 12:14 AM

RSS and XML are still important in the modern web. 1.RSS is used to publish and distribute content, and users can subscribe and get updates through the RSS reader. 2. XML is a markup language and supports data storage and exchange, and RSS files are based on XML.

XML in C  : Handling Complex Data Structures XML in C : Handling Complex Data Structures May 02, 2025 am 12:04 AM

Working with XML data structures in C can use the TinyXML or pugixml library. 1) Use the pugixml library to parse and generate XML files. 2) Handle complex nested XML elements, such as book information. 3) Optimize XML processing code, and it is recommended to use efficient libraries and streaming parsing. Through these steps, XML data can be processed efficiently.

Beyond Basics: Advanced RSS Features Enabled by XML Beyond Basics: Advanced RSS Features Enabled by XML May 07, 2025 am 12:12 AM

RSS enables multimedia content embedding, conditional subscription, and performance and security optimization. 1) Embed multimedia content such as audio and video through tags. 2) Use XML namespace to implement conditional subscriptions, allowing subscribers to filter content based on specific conditions. 3) Optimize the performance and security of RSSFeed through CDATA section and XMLSchema to ensure stability and compliance with standards.

Related articles