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,奉上代码。
C# XML 根级别上的数据无效,XMLDriver,Xpath
时间: 2024-11-13 10:03:01