我有以下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();
但是当我运行它时,我得到的错误是Object引用未设置为对象的实例。
如果我将where语句更改为:
where x.Name.LocalName == "Site"
然后我的文字包含<Site Address="0" Connect="COM1,9600"></Site>
我需要做些什么才能获得Connect的价值?
答案 0 :(得分: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;