gpt4 book ai didi

c# - 获取 xml 属性的值作为字符串

转载 作者:太空宇宙 更新时间:2023-11-03 10:36:57 24 4
gpt4 key购买 nike

我在 XElement 中有一组 xml,如下所示:

<Object type="Item_Element">
<Property name="IDValue1" value="somevaluethatihave"/>
<Property name="IDValue2" value="somevaluethatineed"/>
<Property name="IDValue3" value="somevaluethatihaveanddonotneed"/>
</Object>

我想获取 IDValue2value 属性值作为字符串而不是 XElement

我试过这样做:

var meID = from el in linkedTeethInfo.DescendantsAndSelf("Property") 
where (string)el.Attribute("name") == "IDValue2"
select el.Attribute("value");

以及其他一些不起作用的组合,并以作为索引值列出的 XElement 格式返回它。我想知道是否可以将单个值 somevaluethatineed 作为字符串获取?我更希望使用一个变量来实现这一点,而不必将其分解为多个步骤。

最佳答案

XElement 类提供 Value属性(property)。您可以使用它来获取与元素关联的文本:

IEnumerable<string> meID = from el in linkedTeethInfo.DescendantsAndSelf("Property") 
where (string)el.Attribute("name") == "IDValue2"
select el.Attribute("value").Value;

您也可以像在 where 子句中那样将您的属性转换为 string:

IEnumerable<string> meID = from el in linkedTeethInfo.DescendantsAndSelf("Property") 
where (string)el.Attribute("name") == "IDValue2"
select (string)el.Attribute("value");

如果你知道元素中只有一个"IDValue2",你可以像这样得到一个字符串:

string meID = (from el in linkedTeethInfo.DescendantsAndSelf("Property") 
where (string)el.Attribute("name") == "IDValue2"
select el.Attribute("value").Value).FirstOrDefault();

关于c# - 获取 xml 属性的值作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27402151/

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