一个xml文件操作的问题

blueteeth_yl 2010-06-23 09:11:55

<?xml version="1.0" encoding="gb2312"?>

<QuickAsh>
<Time Point = "12:15">
<PD301>0.0</PD301>
<CleanCoal>0.0</CleanCoal>
<MiddleCoal>0.0</MiddleCoal>
<Gangue>0.0</Gangue>
</Time >
<Time Point = "13:15">
<PD301>35.04</PD301>
<CleanCoal>9.05</CleanCoal>
<MiddleCoal>26.50</MiddleCoal>
<Gangue>73.62</Gangue>
</Time >

</QuickAsh>



现在我想得到12.15 这个属性值,求解
...全文
93 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
PeterSong9970 2010-06-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhaoyunrui 的回复:]
C# code
((XmlElement)doc.DocumentElement[节点名]).GetAttribute(节点属性)
[/Quote]

支持
zhaoyunrui 2010-06-23
  • 打赏
  • 举报
回复
doc 是 XmlDocument
zhaoyunrui 2010-06-23
  • 打赏
  • 举报
回复
 ((XmlElement)doc.DocumentElement[节点名]).GetAttribute(节点属性)
全栈极简 2010-06-23
  • 打赏
  • 举报
回复
You can use linq to xml to operate this xml file.
s8975565 2010-06-23
  • 打赏
  • 举报
回复
3楼的最实惠了 O(∩_∩)O哈哈~
Ryan20082009 2010-06-23
  • 打赏
  • 举报
回复
学习了
jiangshun 2010-06-23
  • 打赏
  • 举报
回复
            string xml = @"<?xml version=""1.0"" encoding=""gb2312""?>

<QuickAsh>
<Time Point = ""12:15"">
<PD301>0.0</PD301>
<CleanCoal>0.0</CleanCoal>
<MiddleCoal>0.0</MiddleCoal>
<Gangue>0.0</Gangue>
</Time >
<Time Point = ""13:15"">
<PD301>35.04</PD301>
<CleanCoal>9.05</CleanCoal>
<MiddleCoal>26.50</MiddleCoal>
<Gangue>73.62</Gangue>
</Time >

</QuickAsh>";

Console.WriteLine("LINQ TO XML");
XDocument doc = XDocument.Parse(xml);
var Query = from node in doc.Element("QuickAsh").Elements("Time")
select new { Point = node.Attribute("Point").Value };
foreach (var v in Query)
{
Console.WriteLine(v.Point);
}

//或者
Console.WriteLine("\r\n");
System.Xml.XmlDocument D = new System.Xml.XmlDocument();
D.LoadXml(xml);
foreach (System.Xml.XmlNode n in D.SelectNodes("QuickAsh/Time"))
{
Console.WriteLine(n.Attributes["Point"].Value);
}
/*
LINQ TO XML
12:15
13:15


12:15
13:15
*/
madogao 2010-06-23
  • 打赏
  • 举报
回复
学习了
g394594141 2010-06-23
  • 打赏
  • 举报
回复
xmldocument.Attributes[]
blueteeth_yl 2010-06-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 blueteeth_yl 的回复:]
XML code

<?xml version="1.0" encoding="gb2312"?>

<QuickAsh>
<Time Point = "12:15">
<PD301>0.0</PD301>
<CleanCoal>0.0</CleanCoal>
<MiddleCoal>0.0</Middl……
[/Quote]

===============================================

是不是我没表达清自己的意思:

我只想取出来 time 结点下的Point属性的值:12:15或者 13:15
jiangshun 2010-06-23
  • 打赏
  • 举报
回复
          string xml = @"<?xml version=""1.0"" encoding=""gb2312""?>

<QuickAsh>
<Time Point = ""12:15"">
<PD301>0.0</PD301>
<CleanCoal>0.0</CleanCoal>
<MiddleCoal>0.0</MiddleCoal>
<Gangue>0.0</Gangue>
</Time >
<Time Point = ""13:15"">
<PD301>35.04</PD301>
<CleanCoal>9.05</CleanCoal>
<MiddleCoal>26.50</MiddleCoal>
<Gangue>73.62</Gangue>
</Time >

</QuickAsh>";

XDocument doc=XDocument.Parse(xml);
var Query = from node in doc.Element("QuickAsh").Elements("Time")
where node.Attribute("Point").Value == "12:15"
select node;
foreach (var v in Query)
{
Console.WriteLine("PD301={0} CleanCoal={1} MiddleCoal={2} Gangue={3}",
v.Element("PD301").Value, v.Element("CleanCoal").Value, v.Element("MiddleCoal").Value,
v.Element("Gangue").Value);
}

/*
PD301=0.0 CleanCoal=0.0 MiddleCoal=0.0 Gangue=0.0

*/

110,499

社区成员

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

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

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