2016-05-17 61 views
0

JAVA & XMLJAVA XML找到節點不知道父母

我有一個這樣的XML文檔:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<elezione> 
    <codice>6</codice> 
    <descrizione>EUROPEE</descrizione> 
    <data>25 MAGGIO 2014</data> 
    <enti-partecipanti> 
    <italia> 
     <circ-europea> 
     <codice>2</codice> 
     <nome>II : ITALIA NORD-ORIENTALE</nome> 
     <regione> ..... </regione> 
     <regione> ..... </regione> 
     <regione> 
      <codice>4</codice> 
      <nome>TRENTINO-ALTO ADIGE</nome> 
      <provincia> 
      <codice>14</codice> 
      <nome>BOLZANO</nome> 
      .. Whole load of sub nodes and stuff 
      </provincia> 
      <provincia> 
      <codice>14</codice> 
      <nome>BOLZANO</nome> 
      .. Whole load of sub nodes and stuff 
      </provincia> 
      .. 
      .. 
     </regione> 
     <regione> ... </regionr> 
     </circ-europea> 
    </italia> 
    </enti-partecipanti> 
</elezione> 

我需要開始從<regione>節點檢查與 「codice」= 14

不幸的是,「<regione>」節點列表中的結構不斷變化(xml的供應商非常糟糕),但在該節點下面,事情非常標準。

目前我正在使用經典的「DocumentBuilder ...」代碼。

主要問題是我開始搜索regione從<elezione>節點開始,而不是從文檔本身,所以我不知道如何使用xPath從節點而不是文檔開始!

+0

你嘗試過「regione // codice」嗎? – Fildor

+0

你的XPath是什麼,你在哪裏叫它? – har07

+0

// regione/provincia/codice [text()='14']給你所有具有價值的編碼14 – SomeDude

回答

0

使用以「//」開頭的xpath。

「// regione」將匹配所有「regione」節點。

+0

好的,我得到了那麼多,並且我有一個「regione」節點的列表。我如何檢查「codice」值?節點[i],getElementById(「codice」)。item(0).getTextContent()不起作用! :(...對不起,但我是新來的!.....順便說一句,你如何把CR/LF的評論? – Francesco