[英]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.