0

我有以下 XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Project>
<Site Address="0" Connect="COM1,9600">
</Site>
</Project>

我试图获得“连接”的价值

我有这个代码:

var doc = XDocument.Load(xml);
var q = from x in doc.Root.Elements()
        where x.Name.LocalName == "Connect"
        select x;
ClientTB.Text = q.FirstOrDefault().ToString();

但是当我运行它时,我得到错误对象引用未设置为对象的实例。

如果我将 where 语句更改为:

        where x.Name.LocalName == "Site"

然后我的文字包含<Site Address="0" Connect="COM1,9600"></Site>

我需要做什么才能获得 Connect 的价值?

4

1 回答 1

3
var q = from x in doc.Root.Elements()
        where x.Name.LocalName == "Site"
        select x.Attribute("Connect");

选择

 var q = from x in doc.Descendants("Site").Attributes("Connect")
         select x;
于 2012-10-22T01:19:44.517 回答