zoukankan      html  css  js  c++  java
  • C#读取xml文件写入到TreeView中

    开发过程中我们会遇到一些读取xml文件的时候,下面是我学习的整理。

    用XmlDocument读取加载

     XmlDocument doc = new XmlDocument();
      doc.Load("XML.xml");//xml的文件路径
    
     //获取到XML的根元素进行操作
    XmlNodeList xn = doc.SelectNodes("countries/country");
    

     完整代码如下

    前端:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="demo0427.aspx.cs" Inherits="WebApplication2.demo0427" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>xml加载到tree中</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TreeView ID="TreeView1" runat="server" ImageSet="XPFileExplorer" NodeIndent="15">
                <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
                <Nodes>
                    <asp:TreeNode Text="跟节点" Value="跟节点">
                        <asp:TreeNode Text="子节点1" Value="子节点1"></asp:TreeNode>
                        <asp:TreeNode Text="子节点2" Value="子节点2"></asp:TreeNode>
                    </asp:TreeNode>
                </Nodes>
                <NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" HorizontalPadding="2px" NodeSpacing="0px" VerticalPadding="2px" />
                <ParentNodeStyle Font-Bold="False" />
                <SelectedNodeStyle BackColor="#B5B5B5" Font-Underline="False" HorizontalPadding="0px" VerticalPadding="0px" />
            </asp:TreeView>
        </div>
        </form>
    </body>
    </html>
    

    后端:

    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Xml;
    using System.Xml.Linq;
    
    namespace WebApplication2
    {
        public partial class demo0427 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    string path3 = Server.MapPath("/");//获得当前的路径
                    //将XML文件加载进来
                    XmlDocument doc = new XmlDocument();
                    doc.Load("" + path3 + "XML.xml");
                    //获取到XML的根元素进行操作
                    XmlNodeList xn = doc.SelectNodes("countries/country");
                    foreach (XmlNode xn1 in xn)
                    {   //获取第一个元素text的值
                        string text = xn1.FirstChild.InnerXml;
                        XmlNode v = xn1.SelectSingleNode("value");
                        string re = v.InnerText;
                        //获取属性值
                        string val = v.Attributes["id"].Value;
                        Console.WriteLine(text + ":" + val + ":" + re);
                        //第一级树
                        TreeNode trerotnod = new TreeNode();
                        //第二级树
                        TreeNode x = new TreeNode();
                        TreeNode y = new TreeNode();
                        trerotnod.Text = xn1.InnerText;
                        y.Text = val;
                        x.Text = re;
                        //把第二级的树添加到第一级的树中
                        trerotnod.ChildNodes.Add(x);
                        trerotnod.ChildNodes.Add(y);
                        TreeView1.Nodes.Add(trerotnod);
    
                    }
                }
            }
        }
    }
    

      

     

  • 相关阅读:
    BC高精确度函数使用。
    thinkPHP中_initialize方法实例分析
    MySQL中concat函数
    使用docker打造spark集群
    zhihu spark集群,书籍,论文
    Windows下安装使用curl命令
    数据可视化的优秀入门书籍有哪些,D3.js 学习资源汇总
    2015互联网+影响力报告发布
    The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    centos linux中怎么查看和修改计算机名/etc/sysconfig/network
  • 原文地址:https://www.cnblogs.com/feipengting/p/8986062.html
Copyright © 2011-2022 走看看