[英]LINQ-to-XML XElement query NULL
我正在尝试UPDATE
某个子元素(在本例中为“Regex”) WHERE
其中一个子元素(“Name”)== selected name(“AccountNumber”)。
这是我的XmlDoc示例
<?xml version="1.0" encoding="utf-8"?>
<Bill>
<Element>
<Name>AccountNumber</Name>
<Regex></Regex>
<Left></Left>
<Right></Right>
<Top></Top>
<Bottom></Bottom>
<Relations></Relations>
</Element>
<Element>
<Name>BillDate</Name>
<Regex></Regex>
<Left></Left>
<Right></Right>
<Top></Top>
<Bottom></Bottom>
<Relations></Relations>
</Element>
</Bill>
这是我到目前为止的代码。
XElement x = XmlDoc.Element("Bill")
.Elements("Element")
.Where(xel => xel.Element("Name").ToString() == CurrentSelection.ElementName)
.SingleOrDefault();
x.Element("Regex").Value = details[1].Value;
查询运行后,XElement,x仍为null ...我对LINQ(和Lambdas)很新,可以在这里使用一些指导。 谢谢!
它返回null,因为你将元素转换为字符串,而不是它的值。你应该像这样检查子元素值
xel.Element("Name").Value.ToString() == CurrentSelection.ElementName
我认为Value返回字符串,所以ToString
在这里是多余的只是类型
xel.Element("Name").Value == CurrentSelection.ElementName
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.