c# - 如何获取父节点子节点的子节点值
问题描述
我知道这个问题看起来很混乱,因为它对我来说很混乱。我认为最好我举个例子。我有一个部分 xml 文件,如下所示。我需要获取节点的VALUE
子节点的值,DIALVALUE
但是要获取正确的值,我需要通过id 属性找到正确的DIALVALUE
节点。DIAL
该DIALVALUE
节点在 xml 文件中列出了 71 次,并且所需的值不按顺序排列。如何做到这一点?
<?xml version="1.0" encoding="utf-16"?>
<OrderXml>
<DialValues>
<DialValue>
<Dial id="11144" externalId="">
<PlanName>pg1_CreditUnionName</PlanName>
<DisplayName>Credit Union Name:</DisplayName>
</Dial>
<Value>Alexis Nab Credit Union</Value>
</DialValue>
<DialValue>
<Dial id="11145" externalId="">
<PlanName>pg1_CharterNumber</PlanName>
<DisplayName>Charter Number:</DisplayName>
</Dial>
<Value>9999</Value>
</DialValue>
<DialValue>
<Dial id="11146" externalId="">
<PlanName>pg1_ContactNameFirst</PlanName>
<DisplayName>Solution Main Contact First Name:</DisplayName>
</Dial>
<Value>Alexis</Value>
</DialValue>
<DialValue>
</DialValues>
<OrderXml>
解决方案
这应该给你的想法(注意:包括空处理等)。
var value = XDocument.Parse(xml)
.Descendants("Dial")
.Single(el => el.Attribute("id").Value == "11145")
.Parent
.Descendants("Value")
.Single().Value;
推荐阅读
- c# - 为什么在 xaml 中绑定 ItemsSource 时 ui 更新但在代码中分配它时不更新?
- facebook - facebook 服务器发送实时视频评论事件,仅提供视频所有者评论
- java - ConstraintValidation 不适用于 Rest Api 请求
- javascript - 在回发时我不想改变表单的视觉效果?
- ios - 为 Pushkit 分配 PKPushRegistryDelegate 时如何消除类型错误?
- php - 如何更改php代码以在每个输入框下显示错误
- javascript - 在 JEST 测试中隐藏控制台日志
- angularjs - 如何在 twilio-video 中添加额外的轨道?
- angular - Angular 中状态为 302 时读取响应头
- javascript - 如何在javascript中使用for循环显示来自两个对象的数据