如何读取xml文件某一行各个属性的值,有xml文件

shvoip100 2010-01-05 11:13:39
<?xml version="1.0" encoding="utf-8"?>
<hotel>
<item day="2010-01-01" aa="800" bb="5" cc="795" dd="0" ff="0" />
<item day="2010-01-02" aa="800" bb="5" cc="795" dd="0" ff="0" />
<item day="2010-01-03" aa="800" bb="5" cc="795" dd="0" ff="0" />
<item day="2010-01-04" aa="800" bb="5" cc="795" dd="0" ff="0" />
</hotel>


现在要取
day="2010-01-03" 这一行其它各个属性aa bb cc dd ff 这些值
...全文
147 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shvoip100 2010-01-05
  • 打赏
  • 举报
回复
XmlNode node = xml.DocumentElement.SelectSingleNode("//hotel//item[@day= '" + thedatestr + "']");
theprice.Text = node.Attributes["theprice"].InnerText;
spark_wu 2010-01-05
  • 打赏
  • 举报
回复

XmlNodeList nodeList=xmlDoc.SelectSingleNode("hotel").ChildNodes;//获取hotel节点的所有子节点
foreach(XmlNode xn in nodeList)//遍历所有子节点
{
XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
if(xe.GetAttribute("day")=="2010-01-03")//如果day属性值为“2010-01-03”
{
//xe就是你要的行
}
}


mytimes_walker 2010-01-05
  • 打赏
  • 举报
回复
那你就给item元素加个ID,用GetElementById(id)的方法去取,这样返回的是单独的一个XmlElement。
shvoip100 2010-01-05
  • 打赏
  • 举报
回复
上面是所有节点
现在要直接取 day="2010-01-03" 这一行 ,其它的就不要了
mytimes_walker 2010-01-05
  • 打赏
  • 举报
回复
这里的doc是XmlDocument对象。

XmlNodeList nodeList = doc.GetElementByTagName("item");
foreach (XmlNode node in nodeList)
{
node.Attributes["aa"]...
node.Attributes["bb"]...
node.Attributes["cc"]...
node.Attributes["dd"]...
node.Attributes["ff"]...
}

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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