如何直接从xml获取值(最好使用XPath)?

Joa*_*nge 1 .net c# xml xpath

我试图以最简单的方式在C#中获得comp1的价值.我希望能够以最少检查是否存在像Primary这样的元素等的方式来做到这一点.

//  pseudo code
xmlItem = root.SelectSingleNode "/Primary/Complex?Name='comp1'"
Run Code Online (Sandbox Code Playgroud)

所以我可以检查是否xmlItemnull,或者没有元素,而不是每次访问子节点时都进行很多检查.这是xml,但实际的是嵌套的,但只有leaf xml节点具有我们正在寻找的特定名称.

<?xml version="1.0" ?>
<Primary Type="">
   <Simple Name="smp"></Simple>
   <Complex Name="comp0" Value="123"></Complex>
   <Complex Name="comp1" Value="456"></Complex>
   <Complex Name="comp2" Value="789"></Complex>
</Primary>
Run Code Online (Sandbox Code Playgroud)

bra*_*ter 5

我认为XPath是 /Primary/Complex[@Name='comp0']/@Value

顺便说一下,你的XML是错误的.没有简单的结束标记,没有材质的开始标记.我认为</Material>应该是</Simple>.