首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LINQ文件:如何使用C#选择具有特定值的节点

LINQ文件:如何使用C#选择具有特定值的节点
EN

Stack Overflow用户
提问于 2022-03-08 03:30:59
回答 1查看 120关注 0票数 1

我很难找到Linq方法来提取特定节点的值。

假设我的XML文件是这样的:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<Data>
  <Month>
    <Month_Number>1</Month_Number>
    <Tool>
      <Tool_Name>Help</Tool_Name>
      <Count>1</Count>
    </Tool>
  </Month>
  <Month>
    <Month_Number>2</Month_Number>
    <Tool>
      <Tool_Name>On</Tool_Name>
      <Count>1</Count>
    </Tool>
  </Month>
  <Month>
    <Month_Number>3</Month_Number>
    <Tool>
      <Tool_Name>Off</Tool_Name>
      <Count>1</Count>
    </Tool>
  </Month>
</Data>

我想从Count中提取值,它来自ToolTool_Name,其值为Off,在月份E 212,其中E 1153E 216

答案应该是1。然后我想将该值更改为2

因此,由此产生的XML文件将是

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<Data>
  <Month>
    <Month_Number>1</Month_Number>
    <Tool>
      <Tool_Name>Help</Tool_Name>
      <Count>1</Count>
    </Tool>
  </Month>
  <Month>
    <Month_Number>2</Month_Number>
    <Tool>
      <Tool_Name>On</Tool_Name>
      <Count>1</Count>
    </Tool>
  </Month>
  <Month>
    <Month_Number>3</Month_Number>
    <Tool>
      <Tool_Name>Off</Tool_Name>
      <Count>2</Count>
    </Tool>
  </Month>
</Data>

使用XMLDocument,我会做类似的事情

代码语言:javascript
复制
XmlDocument tallyFile = new XmlDocument();
                    tallyFile.Load(tallyFilePath);

                    XmlNode node = tallyFile["Data"];
foreach (XmlNode childNode in node.ChildNodes)
{
if (childNode["Month_Number"].InnerText.Equals("3")){}
}

但我想使用XDocument实现上述目标。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-08 03:53:02

您能试一下这段代码吗,只需参考文档

代码语言:javascript
复制
using System.Xml.Linq;

XElement root = XElement.Load(tallyFilePath);
foreach (var month in root.Descendants("Month")
    .Where(x => x.Descendants("Month_Number").First().Value == "3"))
{
    Console.WriteLine(month);
    //month.Value = "2";
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71389724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档