2015-04-15 51 views
0

例如,我有一個XML:如何在XPath中選擇具有一個屬性的特定值和另一個屬性的最大值的節點?

<?xml version="1.0"?> 
<list> 
    <pos matnr="10017571" charg="1045825700" atwrt="108" labst="610" /> 
    <pos matnr="10017572" charg="1045825700" atwrt="108" labst="600" /> 
    <pos matnr="10017573" charg="1046186400" atwrt="108" labst="2730" /> 
    <pos matnr="10017573" charg="1046117000" atwrt="108" labst="5200" /> 
    <pos matnr="10017573" charg="1046055000" atwrt="108" labst="3507" /> 
    <pos matnr="10017574" charg="1045911400" atwrt="108" labst="50" /> 
    <pos matnr="10017574" charg="1046055000" atwrt="108" labst="14230" /> 
    <pos matnr="10017574" charg="1046117000" atwrt="108" labst="5500" /> 
    <pos matnr="10017574" charg="1046186400" atwrt="108" labst="2410" /> 
</list> 

所以,我怎麼能選擇一個屬性的具體數值和XPath的另一個屬性的最大值的節點?我需要這樣的事情(不工作):

xmlDocZ.selectSingleNode("//pos[@matnr='10017574' and @labst[not(.>//@labst)]]"); 

結果必然是:

<pos matnr="10017574" charg="1046055000" atwrt="108" labst="14230" /> 

回答

0

哦,我用我自己知道了。這工作正常:

xmlDocZ.selectSingleNode("//pos[@matnr='10017574' and @labst[not(.//pos[@matnr='10017574']/@labst)]]"); 
相關問題