using System; using System.IO; using System.Xml; using System.Data; namespace SiaSun.LMS.Common { /// /// XmlFiles 的摘要说明。 /// public class XmlFiles:XmlDocument { #region 字段与属性 private string _xmlFileName; public string XmlFileName { set{_xmlFileName = value;} get{return _xmlFileName;} } #endregion #region ------构造函数 /// /// 构造函数 /// public XmlFiles() { } /// /// 构造函数 /// public XmlFiles(string xmlFile) { XmlFileName = xmlFile; this.Load(xmlFile); } #endregion #region ------查找节点 /// /// 给定一个节点的xPath表达式并返回一个节点 /// /// 路径 /// public XmlNode FindNode(string xPath) { XmlNode xmlNode = this.SelectSingleNode(xPath); return xmlNode; } /// /// 给定一个节点的xPath表达式返回其值 /// /// 路径 public string GetNodeValue(string xPath) { XmlNode xmlNode = this.SelectSingleNode(xPath); return xmlNode.InnerText; } /// /// 给定一个节点的表达式返回此节点下的孩子节点列表 /// /// 路径 public XmlNodeList GetNodeList(string xPath) { XmlNodeList nodeList = this.SelectSingleNode(string.Format("descendant::Table[@Name='{0}']", xPath)).ChildNodes; return nodeList; } #endregion #region ------根据XML获得DataTable /// /// 根据XML获得DataTable /// public DataTable GetDataTable(string sXml) { XmlParserContext context = new XmlParserContext(null, null, null, XmlSpace.None); XmlTextReader reader = new XmlTextReader(sXml, XmlNodeType.Document, context); DataSet ds = new DataSet(); ds.ReadXml(reader); return (ds.Tables.Count > 1) ? ds.Tables[1] : null; } #endregion } }