2014-10-31 58 views
0

結束。在我的XML我有元素如何獲得通過屬性名稱元素與定義的詞

<driverConfig name="ADriver"> 
    ... 
      </driverConfig> 

      <driverConfig name="BDriver"> 
    ... 
      </driverConfig> 

有沒有辦法如何選擇子元素的所有值。問題是,我可以在這個表達式,我已經嘗試過,但沒有成功修改只是名字:

//driverConfig[@name="*Driver"]/fd:properties/fd:property[@name="path"] 

回答

1

在XPath 2.0,你可以分別//driverConfig[matches(@name, 'Driver$')]/fd:properties/fd:property[@name="path"]//driverConfig[ends-with(@name, 'Driver')]/fd:properties/fd:property[@name="path"]

使用XPath 1.0,您可以使用//driverConfig[substring(@name, string-length(@name) - 5) = 'Driver']/fd:properties/fd:property[@name="path"]

+0

hm那很好,但正如我所說,我可以改變這部分*驅動程序,因爲我usin第三部分庫稱爲faban和總是這部分// driverConfig [@ name =「..」] – hudi 2014-10-31 08:43:22

+0

@hudi:如果這是唯一可以改變的事情,那麼就沒有辦法去做你正在問的東西。 – LarsH 2014-10-31 13:43:56