我正在使用c#。
<Tüberkiloz>
<Kod>
1000
</Kod>
</Tüberkiloz>
<Tifo>
<Kod>
1001
</Kod>
</Tifo>
<Bakteriyel_Endokardit>
<Kod>
1002
</Kod>
</Bakteriyel_Endokardit>
这是我的xml。我想带Tifo。我必须使用“Kod”节点。例如 XpathSelectelement(“Kod”)。value = 1001
答案 0 :(得分:1)
假设每个元素都有一个<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;
答案 1 :(得分:0)
这会有用吗?
XElement root = XElement.Parse("...");
var tifo = (
from kod in root.Descendants("Kod")
where kod.Value == "1001"
select kod.Parent
).First();
答案 2 :(得分:0)
这将为您提供一组XElements,它们具有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 matchingElements = doc.XPathSelectElements("root/*[./Kod/text() = '1001']");
你可以使用XPath语句中的值,在本例中为1001. dahlbyk的答案和Thorarin的答案都应该同样有效(除非你已经将你的值作为int已经不需要演员,我只是比较它)。
我只是想我会发布一个简单的单行解决方案来提供选项。