C#获取XML文件节点的问题

mmmmnnn123 2013-08-29 10:36:28
  

怎么获取父节点以及遍历其所有子节点并获得子节点的值
...全文
154 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunyiying 2013-09-04
  • 打赏
  • 举报
回复
string ress = @"<?xml version='1.0' encoding='GB2312'?><dtmEvent teamCatalogId='227' teamCatalogName='新区聚合回收' startFrom='2013-07-01 00:00:00' endWith='2013-08-06 00:00:00'><group name='聚合回收楼上' id='273'/> <group name='聚合回收楼上' id='273'/> <group name='聚合回收底楼' id='272'> <event eventName='01列一釜泵' dtmName='01列一釜泵' time='2013-07-27 08:31:00' refenceValue='正常,异常' probeValue='异常' Principals='N/A'/> </group> <group name='聚合回收底楼' id='272'> <event eventName='01列一釜泵' dtmName='01列一釜泵' time='2013-07-27 08:31:00' refenceValue='正常,异常' probeValue='异常' Principals='N/A'/> </group> </dtmEvent>"; XmlDocument xml = new XmlDocument(); xml.LoadXml(ress); XmlNodeList xx = xml.SelectNodes("//dtmEvent"); XmlNodeList y = xml.SelectNodes("//dtmEvent/group"); foreach (XmlNode item in y) { XmlNodeList z = item.ChildNodes; foreach (XmlNode n in z) { string temp = n.Attributes["eventName"].Value; temp = n.Attributes["jerry"].Value; } }
as862214582 2013-09-04
  • 打赏
  • 举报
回复
XmlDocument Doc = new XmlDocument(); Doc.Load(xml文件路径); XmlNodeList NodeList = Doc.SelectSingleNode("relationships").ChildNodes; foreach (XmlNode xn in NodeList) { XmlElement xe = (XmlElement)xn; xe.GetAttribute("").ToString();//子节点的值,自己定义一个变量付上去就行了 }
1987andy 2013-09-04
  • 打赏
  • 举报
回复
可以参考linq to xml,通过XElement来操作枚举节点~
ctgu_cbf 2013-09-02
  • 打赏
  • 举报
回复
用foreach就能遍历,获取父节点,用ParentNode,子节点用ChildNodes
  • 打赏
  • 举报
回复
foreach(var node in xmlNode.ParentNode.ChildNodes) { } 如果还要包含子级以下的孙子节点,则递归
游戏人间 2013-08-29
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390569725 昨天看到这了个贴或许对你有帮助.
天下如山 2013-08-29
  • 打赏
  • 举报
回复
比如:

XML:
<?xml version="1.0" encoding="utf-8"?>
<Epg Name="HD200" ID="HD200">
	<Week1>
		<Item Time="02:00" Name=" 三星大廚"/>
		<Item Time="03:45" Name=" 腐敗刑警"/>
		<Item Time="06:15" Name=" 一切從失戀開始"/>
		<Item Time="08:25" Name=" 功夫之王"/>
		<Item Time="10:35" Name=" 變種特攻:兩極爭霸"/>
		<Item Time="12:40" Name=" 9"/>
		<Item Time="14:25" Name=" 一夜賭城戀大咗"/>
		<Item Time="16:20" Name=" 變形金剛狂派再起"/>
		<Item Time="19:10" Name=" 煞破天劫"/>
		<Item Time="21:05" Name=" 龍出生天"/>
		<Item Time="23:20" Name=" 華爾街金融大鱷"/>
	</Week1>
</Epg>
System.IO.StreamReader sr = new System.IO.StreamReader(uploadStream, Encoding.GetEncoding("UTF-8"));
XDocument doc = XDocument.Load(sr);
var text = from t in doc.Descendants("Week1").Descendants("Item")
           select new Data
           {
              Time = t.Attribute("Time").Value,
              Name = t.Attribute("Name").Value
           };
lhx527099095 2013-08-29
  • 打赏
  • 举报
回复
用xml.linq命名空间下的XElement挺好用的 XElement xml=XElement.Load(文件地址); xml.Elements("Relationship")取出所有的relationship集合
天下如山 2013-08-29
  • 打赏
  • 举报
回复
Linq to XML 读起来方便 简单

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧