【问题标题】:How to get data using xelement C#如何使用xelement C#获取数据
【发布时间】:2022-12-16 12:13:18
【问题描述】:

我有如下的 xml。如果名称 = 手机,我如何获得 2222 之类的 ID。我想根据名称值检索 Id 值。

范例

<Type>
  <id>1111</id>
  <name>Laptop</name>
<Type>  
<Type>
  <id>22222</id>
  <name>Mobile</name>
<Type>

我试过下面的代码但没有工作。

XElement xel = root
.Elements("Type").Element("id")
.Where(x => (int)x.Element("name") == "Mobile")
.SingleOrDefault();

【问题讨论】:

  • 哪里需要布尔结果
  • 嗨丹尼尔,我的结果应该是(2222 如果名称 == 移动)和(1111 当名称 == 笔记本电脑)。简而言之,我想根据名称值获取 Id 值。
  • XElement xel = root.Elements("Type").Where(x => x.Element("name") == "Mobile").SingleOrDefault().Element("id");

标签: c# xelement


【解决方案1】:

尝试这样的事情:

string xml = @"
<Types>
  <Type>
    <id>1111</id>
    <name>Laptop</name>
  </Type>
  <Type>
    <id>22222</id>
    <name>Mobile</name>
  </Type>
</Types>
";

XElement root = XElement.Parse(xml);

string name = "Mobile";
string id = root
    .Elements("Type")
    .Where(x => (string)x.Element("name") == name)
    .Select(x => (string)x.Element("id"))
    .SingleOrDefault();

Console.WriteLine(id); // Outputs "22222"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多