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
}
}