![](/img/trans.png)
[英]How can I improve performance of my application which generates XML using Linq-to-Entities and XElement
[英]How can i find XElement using linq
我正在使用C#。
<Tüberkiloz>
<Kod>
1000
</Kod>
</Tüberkiloz>
<Tifo>
<Kod>
1001
</Kod>
</Tifo>
<Bakteriyel_Endokardit>
<Kod>
1002
</Kod>
</Bakteriyel_Endokardit>
這是我的xml。 我想要蒂芙。 我必須使用“ Kod”節點。 例如XpathSelectelement(“ Kod”)。value = 1001
假設每個元素都有一個<Kod>
元素,並且它們都包含有效的整數,則可以使用:
var doc = XDocument.Parse(@"
<root>
<Tüberkiloz>
<Kod>1000</Kod>
</Tüberkiloz>
<Tifo>
<Kod>1001</Kod>
</Tifo>
<Bakteriyel_Endokardit>
<Kod>1002</Kod>
</Bakteriyel_Endokardit>
</root>");
var matches = from el in doc.Root.Elements()
where (int)(el.Element("Kod")) == 1001
select el;
這行得通嗎?
XElement root = XElement.Parse("...");
var tifo = (
from kod in root.Descendants("Kod")
where kod.Value == "1001"
select kod.Parent
).First();
這將為您提供具有與Kod元素匹配值的XElement集合。
var doc = XDocument.Parse(@"
<root>
<Tüberkiloz>
<Kod>1000</Kod>
</Tüberkiloz>
<Tifo>
<Kod>1001</Kod>
</Tifo>
<Bakteriyel_Endokardit>
<Kod>1002</Kod>
</Bakteriyel_Endokardit>
</root>");
var matchingElements = doc.XPathSelectElements("root/*[./Kod/text() = '1001']");
您可以只在XPath語句中使用值,在這種情況下為1001。dahlbyk的答案和Thorarin的答案都應同樣起作用(除非您已經擁有不需要作為類型變量的int的值,所以我將對其進行比較) 。
我只是以為我會發布一種簡單的單行解決方案來提供選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.