簡體   English   中英

LINQ-to-XML XElement查詢NULL

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM