Heim > Artikel > Backend-Entwicklung > XML (3) XDocument und XmlDocument lesen rekursiv XML-Dateien
Lesen Sie die XML-Datei über XDocument und XmlDocument in TreeView ein, wodurch die Elemente unter XML hauptsächlich rekursiv in das TreeView-Steuerelement geladen werden.
(3) Laden Sie das XML-Wurzelelement in das TreeView-Stammverzeichnis Knoten
(4) Elemente unterhalb des Stammelements rekursiv laden (hier eine Methode erstellen)
<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>
XmlDocument
<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>
Schritte : Die ersten drei Schritte von XmlDocument ähneln denen von Das rekursive Laden im vierten Schritt ist hauptsächlich aus dem Code ersichtlich.
Zusammenfassung
<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>
(1) XmlDocument ist komplizierter als XDocument.
Das Obige ist XML (3) XDocument und XmlDocument lesen rekursiv den Inhalt von XML-Dateien. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (). www.php.cn )!