欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP.NET读取XML某节点所有数据返回DataTable实例】,下面是详细的分享!
ASP.NET读取XML某节点所有数据返回DataTable实例
/// <summary> /// 作者:dodo /// 网站:www.xueit.com /// /// 读取XML类 /// </summary> /// <typeparam name="T"></typeparam> public class xmlHepler<T>:System.Web.UI.Page { Hashtable table = new Hashtable(); T FileName; T Root; //根节点 T RootAttName; //节点属性名称 T RootAttValue; //根节点属性值 T Field; //Xml字段 /// <summary> /// XML文件路径 /// </summary> /// <param name="val"></param> public xmlHepler(T val) { FileName = val; this.LoadXml(val.ToString()); } /// <summary> /// XML文件路径 /// </summary> /// <param name="file"></param> private void LoadXml(string file) { XmlDocument xdoc = new XmlDocument(); xdoc.Load(file); table.Add("xml", xdoc); } /// <summary> /// 返回XML to DataTable /// </summary> /// <returns></returns> public DataTable GetXmlToDataTable() { string[] SplitField=Field.ToString().Split(','); //构造DataTable DataTable dt = new DataTable(); DataColumn dc = null; for (int i = 0; i < SplitField.Length; i ) { dc = new DataColumn(SplitField[i]); dt.Columns.Add(dc); } XmlDocument xdoc = (XmlDocument)table["xml"]; XmlNodeList xTable = xdoc.DocumentElement.SelectNodes(Root.ToString()); foreach (XmlNode xnode in xTable) { if (xnode.Attributes[RootAttName.ToString()].InnerText == RootAttValue.ToString()) //某一节点 { //该节点下所有子节点 XmlNodeList xnlist = xnode.ChildNodes; //子节点所有数据 for (int i = 0; i < xnlist.Count; i ) //for (int i=0; i < xnode.ChildNodes.Count; i ) 这句是所有xml子节点数据 { DataRow dr = dt.NewRow(); //绑定所需字段 for (int j = 0; j < SplitField.Length; j ) { dr[SplitField[j]] = xnode.ChildNodes[i].Attributes[SplitField[j]].Value; } dt.Rows.Add(dr); } } } return dt; } #region 设置值 /// <summary> /// 根节点 /// </summary> public T xmlRoot { get { return Root; } set { Root = value; } } /// <summary> /// 节点属性字段名称 /// </summary> public T xmlRootAttName { get { return RootAttName; } set { RootAttName = value; } } /// <summary> /// 节点属性字段值 /// </summary> public T xmlRootAttValue { get { return RootAttValue; } set { RootAttValue = value; } } /// <summary> /// 子节点属性字段 /// </summary> public T xmlSplitField { set { Field = value; } } #endregion }以上所分享的是关于ASP.NET读取XML某节点所有数据返回DataTable实例,下面是编辑为你推荐的有价值的用户互动:
相关问题:asp.net如何获取DataTable里面查询出来的值
答:由于你返回的数据类型是DataTable,而DataTable里面是由数据记录(数据行)组成的,所以你要取a 的值,可以利用如下方法: string c=""; for(int i=0;i >>详细
相关问题:ASP.NET中 返回DataTable、返回DataSet、DataRow、...
答:返回DataTable 是返回一张数据表 DataSet是数据集 DataRow 是一行数据 SqlDataReader是读取数据行的方法 >>详细
相关问题:关于asp.net c# 读取xml 某个数据的问题
答:List list=new List(); XmlDocument xmldoc = new XmlDocument(); xmldoc.Load("XMLFile1.xml"); XmlNodeList nodelist = xmldoc.SelectNodes(".//meaning"); foreach (XmlNode item in nodelist) { list.Add( item.InnerText); } list集合就是... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
