2012-11-28 183 views
0

我想選擇具有特定值的子元素的元素。下面是示例XML的:`具有多個子值的XPATH選擇節點部分匹配

<events> 
    <event> 
    <startDateTime>2012-12-0128090</startDateTime> 
    <homeTeam> 
     <name>TEST123</name> 
    </homeTeam> 
    </event> 
</events>` 

結果,我要的是事件,包含的startDateTime值爲2012年12月1日,幷包含homeTeam /名稱的測試值。

我想是這樣的:

//events/event[startDateTime[contains(.,'2012-12-01')] and homeTeam/name[contains(.,'TEST')]]'); 

這將返回我也starDateTime從指定的不同的事件。

在此先感謝。

+2

您的XPath是正確的。 –

回答

2

我調整你的XML和XPath略有

<events> 
    <event> 
     <startDateTime>2012-12-0128090</startDateTime> 
     <homeTeam> 
      <name>TEST123</name> 
     </homeTeam> 
    </event> 
    <event> 
     <startDateTime>*2013-12-0128090*</startDateTime> 
     <homeTeam> 
      <name>TEST123</name> 
     </homeTeam> 
    </event> 
</events> 

然後我用下面的XPath訪問第二個節點:

//events/event[(startDateTime[contains(.,'2013-12-01')]) and (homeTeam/name[contains(.,'TEST')])] 

我也有不同的名稱值進行了測試,它似乎工作正常。

相關問題