日期:2014-05-20  浏览次数:20778 次

c#关于xml读取的问题(web)
我有个关于联系人的2.xml文件
<?xml   version= "1.0 "   encoding= "utf-8 "   ?>
<linkname>
                  <姓名> 张三 </姓名>
<性别> 男 </性别>
<年龄> 30 </年龄>
<邮箱> zhangsan@126.com </邮箱>
</linkname>

现在想把里面的内容读出来显示为
                  姓名:张三
性别:男
年龄:30
邮箱:zhangsan@126.com

怎么做呀,而且这个linkname的属性可能会变化,比如有的联系人还会有电话等等。

------解决方案--------------------
XmlDocument doc = new XmlDocument();
doc.Load(@ "c:\t.xml ");

XmlNodeList xnl = doc.SelectNodes( "/linkname/* ");

foreach (XmlNode n in xnl)
{
MessageBox.Show(n.Name + ": " + n.InnerText);
}
------解决方案--------------------
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load( "2.xml ");
XmlNode root=xmlDoc.SelectSingleNode( "linkname ");
foreach (XmlNode n in xnl)
{
textbox1.text+=xnl.name;
}


------解决方案--------------------
对,跟你的节点有多少个元素没有关系,你遍历就行了:

XmlDocument doc = new XmlDocument();
doc.Load( "test1.xml ");

XmlNodeList list = doc.SelectNodes( "//linkname ");//得到所有的linkname节点

foreach (XmlNode node in list)
{//遍历所有的linkname节点
foreach (XmlNode subNode in node.ChildNodes)
{//遍历每个linkname节点的字节点
string strName = subNode.Name; //节点名
string strValue = subNode.InnerText; //节点值
}
}