首页 > 代码库 > C# XML 根级别上的数据无效,XMLDriver,Xpath

C# XML 根级别上的数据无效,XMLDriver,Xpath

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.IO;using System.Xml;namespace 六月版.客户.网站.Models{    public static class XMLDriver    {        public static List<string> GetObjects(string nodeName, string filepath)        {            Stream st = new FileStream(filepath, FileMode.Open);            XmlDocument doc = new XmlDocument();            doc.Load(st);            List<string> listString = new List<string>();            try            {                XmlNodeList nodes = doc.SelectNodes("/root/" + nodeName + "/*");                foreach (XmlNode item in nodes)                {                    listString.Add(item.Name);                }            }            catch (Exception ex)            {                throw ex;            }            finally            {                st.Close();                doc = null;            }            return listString;        }    }}

今天使用XML ,记得以前用过,现在完全没印象,第一个问题就是 ,根级别上的数据无效,话说我的XML格式没问题啊。总提示我这玩意。一顿百度,

先看XML结构,结构也没问题啊。。。

<?xml version="1.0" encoding="utf-8" ?><root>  <装修类型>    <新房 />    <二手房 />  </装修类型>  <功能方式>    <市政暖气 />    <地热 />    <电热膜 />    <电热暖气 />    <其他 />  </功能方式>  <朝向>    <南北向 />    <东西向 />  </朝向></root>

 

一个小时后。。找到了解决办法。

 XmlDocument doc = new XmlDocument(); doc.Load(st);//之前用的是LoadXML。坑死了。
顺带研究了一下 Xpath,奉上代码。