RT.本人不搞C#,也不知道其中的专业术语。我的意思是。我把xml里的数据转成dataset然后再把dataset里的数据以树的形式展现出来。

解决方案 »

  1.   


          /// <summary>
            /// 获取XML数据库中的数据的方法
            /// </summary>
            /// <param name="strFilePath">传入文件路径</param>
            /// <returns>返回一个数据集</returns>
            public static DataSet GetAllDataFromXML(string strFilePath)
            {
                DataSet ds = new DataSet();
                FileInfo fileInfo = new FileInfo(strFilePath);
                if (fileInfo.Exists)
                {
                    try
                    {
                        ds.ReadXml(strFilePath);
                    }
                    catch { }
                }
                else
                {
                    ds = null;
                }
                if (ds != null)
                {
                    if (ds.Tables[0].Rows.Count < 1)
                        ds = null;
                }
                return ds;
            }
      

  2.   

    楼主,,其实你要绑定树不一定要这样做,可以直接绑定的
        private XmlDocument xml = new XmlDocument();
     string path = AppDomain.CurrentDomain.BaseDirectory + @"NameList.xml";
                xml.Load(path);//加载xml文件
                bindTvXml();       /// <summary>
            /// 绑定TreeView
            /// </summary>
            private void bindTvXml()
            {
                for (int i = 0; i < xml.DocumentElement.ChildNodes.Count; i++)
                {
                    XmlNode Xnode = xml.DocumentElement.ChildNodes[i];
                    TreeNode node = new TreeNode();
                    node.Text = Xnode.Attributes["name"].Value;
                    node.Tag = Xnode;
                    node.ImageIndex = 0;
                    bindChildNode(node, Xnode);//绑定子节点
                    TvXml.Nodes.Add(node);
                    TvXml.HideSelection = false;
                }
            }        /// <summary>
            /// 递归绑定子节点
            /// </summary>
            /// <param name="node"></param>
            /// <param name="xml"></param>
            private void bindChildNode(TreeNode node, XmlNode xml)
            {
                for (int i = 0; i < xml.ChildNodes.Count; i++)
                {
                    TreeNode Childnode = new TreeNode();
                    XmlNode ChildXml = xml.ChildNodes[i];
                    Childnode.Text = ChildXml.Value;
                    Childnode.Name = "1";
                    Childnode.Tag = xml.ChildNodes[i];
                    if (ChildXml.HasChildNodes)
                    {
                        if (ChildXml.ChildNodes[0].NodeType == XmlNodeType.Text)
                            Childnode.Text = ChildXml.ChildNodes[0].InnerText;
                        else
                            bindChildNode(Childnode, ChildXml);
                        Childnode.ImageIndex = 1;
                    }
                    node.Nodes.Add(Childnode);
                }        }
      

  3.   

    <?xml version="1.0" encoding = "gbk"?>
    <rdf:RDF xml:base="nari" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2003/CIM-schema-cim10#" xmlns:cimNARI="http://www.naritech.cn/CIM/ext-schema#">
    <cim:Company rdf:ID="c_1" >
    <cim:Naming.description>公司</cim:Naming.description>
    <cim:Naming.name>枣庄电网</cim:Naming.name>
    </cim:Company>
    <cim:SubControlArea rdf:ID="a_市中" >
    <cim:Naming.description>市中</cim:Naming.description>
    <cim:Naming.name>市中</cim:Naming.name>
    <cim:PowerSystemResource.OperatedBy_Companies rdf:resource="#c_1" />
    </cim:SubControlArea>
    <cim:SubControlArea rdf:ID="a_峄城" >
    <cim:Naming.description>峄城</cim:Naming.description>
    <cim:Naming.name>峄城</cim:Naming.name>
    <cim:PowerSystemResource.OperatedBy_Companies rdf:resource="#c_1" />
    </cim:SubControlArea>
    <cim:SubControlArea rdf:ID="a_山亭" >
    <cim:Naming.description>山亭</cim:Naming.description>
    <cim:Naming.name>山亭</cim:Naming.name>
    <cim:PowerSystemResource.OperatedBy_Companies rdf:resource="#c_1" />
    </cim:SubControlArea>
    <cim:SubControlArea rdf:ID="a_台儿庄" >
    <cim:Naming.description>台儿庄</cim:Naming.description>
    <cim:Naming.name>台儿庄</cim:Naming.name>
    <cim:PowerSystemResource.OperatedBy_Companies rdf:resource="#c_1" />
    </cim:SubControlArea>
    <cim:SubControlArea rdf:ID="a_薛城" >
    <cim:Naming.description>薛城</cim:Naming.description>
    <cim:Naming.name>薛城</cim:Naming.name>
    <cim:PowerSystemResource.OperatedBy_Companies rdf:resource="#c_1" />
    </cim:SubControlArea>
    <cim:SubControlArea rdf:ID="a_滕州" >
    <cim:Naming.description>滕州</cim:Naming.description>
    <cim:Naming.name>滕州</cim:Naming.name>
    <cim:PowerSystemResource.OperatedBy_Companies rdf:resource="#c_1" />
    </cim:SubControlArea>
    <cim:SubControlArea rdf:ID="a_地方电厂" >
    <cim:Naming.description>地方电厂</cim:Naming.description>
    <cim:Naming.name>地方电厂</cim:Naming.name>
    <cim:PowerSystemResource.OperatedBy_Companies rdf:resource="#c_1" />
    </cim:SubControlArea>
    <cim:SubControlArea rdf:ID="a_大客户" >
    <cim:Naming.description>大客户</cim:Naming.description>
    <cim:Naming.name>大客户</cim:Naming.name>
    <cim:PowerSystemResource.OperatedBy_Companies rdf:resource="#c_1" />
    </cim:SubControlArea>
    <cim:SubControlArea rdf:ID="a_统调电厂" >
    <cim:Naming.description>统调电厂</cim:Naming.description>
    <cim:Naming.name>统调电厂</cim:Naming.name>
    <cim:PowerSystemResource.OperatedBy_Companies rdf:resource="#c_1" />
    </cim:SubControlArea>
    <cim:SubControlArea rdf:ID="a_主网" >
    <cim:Naming.description>主网</cim:Naming.description>
    <cim:Naming.name>主网</cim:Naming.name>
    <cim:PowerSystemResource.OperatedBy_Companies rdf:resource="#c_1" />
    </cim:SubControlArea>
    </rdf:RDF>
    比如我这样的xml文件。我怎么去根据获取  cim:SubControlArea  这个节点的集合呢?