gpt4 book ai didi

c# - 为什么尝试访问 LINQ-to-XML 中的属性会出现错误?

转载 作者:行者123 更新时间:2023-12-02 17:18:47 26 4
gpt4 key购买 nike

根据我的 LINQ 书籍,这个稍微修改过的示例应该可以工作。

为什么它告诉我“未将对象引用设置到对象的实例”?

using System;
using System.Xml.Linq;

namespace TestNoAttribute
{
class Program
{
static void Main(string[] args)
{

XDocument xdoc = new XDocument(
new XElement("employee",
new XAttribute("id", "23"),
new XElement("firstName", new XAttribute("display", "true"), "Jim"),
new XElement("lastName", new XAttribute("display", "false"), "Smith")));

XElement element = xdoc.Element("firstName");
XAttribute attribute = element.Attribute("display"); //error

Console.WriteLine(xdoc);

Console.ReadLine();

}
}
}

部分答案:

我发现如果将 XDocument 更改为 XElement,那么它就可以工作。谁能解释一下为什么

最佳答案

您正在访问不存在的 xdoc 子元素。尝试降低一级:

XElement element = xdoc.Element("employee").Element("firstName");

XElement element = xdoc.Descendants("firstName").FirstOrDefault();

关于c# - 为什么尝试访问 LINQ-to-XML 中的属性会出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1233918/

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