c# - LINQ to XML C# 获取根元素属性

标签 c# xml linq linq-to-xml

Lts 说我有 XElement 对象文档:

<parameters mode="solve">
  <inputs>
    <a>value_a</a>
      ...
       ...

我如何获取第一个元素(参数)的属性值,换句话说,我如何检查它处于哪种模式。

如果我写

if ((string)doc.Element("parameters").Attribute("mode").Value == "solve") { mode = 1; }

它给我空对象引用错误

最佳答案

如果 doc 是一个 XElement,正如您在问题中所说,那么您可能不需要再次匹配它:

if (doc.Attribute("mode").Value.ToString() == "solve") {
    mode = 1;
}

如果它是一个XDocument,那么你可以使用它的Root引用文档元素的属性:

if (doc.Root.Attribute("mode").Value.ToString() == "solve") {
    mode = 1;
}

关于c# - LINQ to XML C# 获取根元素属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7094861/

相关文章:

c# - MonoTorrent 分发软件

android - RecyclerView 布局管理器列表项占据了整个屏幕

c# - Linq 多元素选择

c# - Windows 8 Metro 中的 SSDP 发现不可靠

c# - 有没有办法从 .NET 使用 Kafka Ksql 推送查询

xml - 此命名空间中的组件无法从架构文档中引用

xml - 如何使用XSLT显示水平制表符?

c# - 创建的谓词在 Linq to Entity Framework Where 子句中不起作用

c# - 使用 LINQ 选择最频繁的值

javascript - Blazor JsInterop 在每个 promise 解决后调用