C#如何读取xml文件里面节点里面的属性信息?

来源:百度知道 编辑:UC知道 时间:2024/09/25 15:22:11
C#如何读取xml文件里面节点里面的属性信息?
<columns>
<entry hidden="y" show="序号" field="#"/>
<entry hidden="n" show="姓名" field="name"/>
<entry hidden="n" show="总消费" field="allfei"/>
<entry hidden="n" show="总付款" field="allpay"/>
<entry hidden="n" show="余额" field="balance"/>
</columns>
比如我需要提取每一个entry的field和show的信息,该如何提取呢?hidden="n" show="姓名" field="name"不属于一个XmlNode的InnerText,他是什么属性呢?

using System.Xml;

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("这里是你的XML的地址"));
XmlNode cNodes = xmlDoc.SelectSingleNode("columns");
for (int i = 0; i < cNodes.ChildNodes.Count; i++)
{
XmlNode c = cNodes.ChildNodes[i];
c.Attributes["hidden"].Value; //这里就取到hidden的值
c.Attributes["show"].Value; // 这里就取到show的值
}

field="name" 这个也是节点属性啊。

大哥,代码很详细了吧,给分,给分!!!!!!!

这种有重复节点的XML最好用表结构来读取
方法:
DataSet ds = new DataSet();
ds.ReadXml(@"E:\XMLFile1.xml");//xml文件完整路径
对于你的这段xml文件,ds会读成3个表,configuration表(1行),user表(2行),upload表(1行);
例如要取 user id = 2时的name值,相当于取user表的第二行,name列的值,可以这样:
string name = ds.Tables["user"].Rows[1]["name"].ToString();
取saveToPath值: