gpt4 book ai didi

c# - 如何从嵌套的 xml 节点获取属性值?

转载 作者:数据小太阳 更新时间:2023-10-29 02:55:04 28 4
gpt4 key购买 nike

我的 XElement 对象格式如下:

<Setting guid="3bcedf55-b75f-456b-b90a-a92cbbb022ga">
<PatientFieldList>
<PatientFieldSetting PatientName="UserDecision" PatentFieldLength="64" />
<PatientFieldSetting PatientName="prohibited" PatentFieldLength="128" />
</PatientFieldList>
</Setting>

我必须获取所有节点中所有属性的值,但我不知道如何:/我试过了

xml.Elements("PatientFieldList")

xml.Descendants("PatientsSettingsFieldsList").Where(x => x.Attribute("PatentFieldLength").Value == 64)`

我有很多这样的节点,所以我想知道是否有简单的方法可以通过“[]”或某种方式访问​​这些属性。

最佳答案

代码:

using System;
using System.Linq;
using System.Xml.Linq

var xml = "<Setting ...";
var doc = XElement.Parse(xml);
int i; // for int parse
var q = from node in doc.Descendants("PatientFieldSetting")
let name = node.Attribute("PatientName")
let length = node.Attribute("PatentFieldLength")
select new { Name = (name != null) ? name.Value : "", Length = (length != null && Int32.TryParse(length.Value, out i)) ? i : 0 };

foreach (var node in q)
{
Console.WriteLine("Name={0}, Length={1}", node.Name, node.Length);
}

输出:

Name=UserDecision, Length=64
Name=prohibited, Length=128

关于c# - 如何从嵌套的 xml 节点获取属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4538213/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com