>  기사  >  백엔드 개발  >  XML (3) XDocument 및 XmlDocument는 xml 파일을 재귀적으로 읽습니다.

XML (3) XDocument 및 XmlDocument는 xml 파일을 재귀적으로 읽습니다.

黄舟
黄舟원래의
2017-02-10 16:31:462447검색

XDocument 및 XmlDocument를 통해 xml 파일을 TreeView로 읽어옵니다. 이는 주로 xml 아래의 요소를 TreeView 컨트롤에 재귀적으로 로드합니다.

>

(2) 루트 노드 가져오기

(3) xml 루트 요소를 TreeView 루트에 로드 node

(4) 루트 요소 아래에 요소를 재귀적으로 로드합니다(여기서 메소드 생성)

<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

단계: 처음 세 개 XmlDocument의 단계는 재귀 로딩의 단계와 유사하며 주로 코드에서 볼 수 있습니다.

rreee
<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>

요약


(1) XmlDocument는 XDocument보다 더 복잡합니다.

(2) XmlDocument는 표준 xml 읽기 및 쓰기 클래스이므로 다양한 확장 기능을 가지고 있습니다. XmlDocument는 XmlDocument의 업그레이드 버전이며 다른 플랫폼에서는 사용할 수 없습니다. 이러한 플랫폼에서는 원본 XmlDocument가 사용되지만 XDocument의 일부 메서드나 속성은 여기에 존재하지 않습니다. 따라서 특정 제한 사항이 있습니다.

(3) foreach 루프의 구문 설탕 var는 XDocument의 유형을 식별할 수 있지만 XmlDocument의 유형은 식별할 수 없지만 XmlElement 상위 클래스의 상위 클래스는 XmlNode입니다.

위는 XML이다. (3) XDocument와 XmlDocument는 xml 파일의 내용을 재귀적으로 읽는다. 더 많은 관련 내용은 PHP 중국어 홈페이지( www.php.cn)!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.