gpt4 book ai didi

c# - 从 xml 文件接收错误代码值

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

我敢肯定,这是一个简单的问题,但我心里真的很困惑,找不到解决办法。

我有一个非常简单的 xml,它看起来像:

  <xml-header>
<error code="40" message="errorMessage" />
</xml-header>

我需要从中获取值“40”。因此,在我看来,这意味着:从元素“error”的属性“code”中获取值。 (我说得对吗?)

return (from node in xdoc.Descendants() select node.Element("error").Attribute("code").Value).First();

那是行不通的。正确的表达方式是什么?


[更新]

抱歉大家,问题出在 xNamespace 上。

所以它应该像这样:xdoc.Descendants(Constants.xNamespace) 甚至在 Constants 类中也有这个,aarrgh。

最佳答案

选择后代错误 元素。如果您不想在元素中没有此类属性的情况下获得异常,也请避免使用 Value 属性:

(from node in xdoc.Descendants("error") 
select (int)node.Attribute("code"))
.First();

您还可以使用方法语法:

xdoc.Descendants("error")
.Select(e => (int)e.Attribute("code"))
.First()

请记住 - 如果序列不包含元素,First 将抛出异常。如果您想避免该错误,请改用 FirstOrDefault。如果定义了命名空间,则在选择元素时使用它:

XNamespace ns = "http://someAdress";
xdoc.Descendants(ns + "error")

关于c# - 从 xml 文件接收错误代码值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14811639/

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