簡體   English   中英

名稱包含的XDocument后代

[英]XDocument Descendents Where Name Contains

我可能沒有在搜索正確的關鍵字,因為我似乎找不到類似的內容。

我有一個XDocument,其后代位於不同的地方,例如:

<country>
<addressCountry>
<idcountry>

我可以像此樣機代碼中那樣找到所有后代嗎?

XDocument.Descendents.Where(x => x.ToLower().Contains("country"));

我將如何處理? 感謝您提供的所有幫助。

您想要元素名稱本地名稱部分:

// Adjust this how you wish.
var comparison = StringComparison.InvariantCultureIgnoreCase;
var elements = 
      doc.Descendants()
         .Where(x => x.Name.LocalName.IndexOf("country", comparison) != -1);

(這是一種執行不區分大小寫的檢查的更干凈的方式-例如,它避免了將I降低到ı的“土耳其”問題。令人討厭的是, Contains沒有重載,它需要使用StringComparisonStringComparer ,但這就是生活...)

myXDocument.Descendants("country")

只要照顧可能的命名空間問題...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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