2011-04-07 104 views
0
<root> 
    <nodes> 
     <headnode> 
      <info>Sometext1</info> 
     </headnode> 
     <leafnode> 
      <info>sometext2</info> 
     </leafnode> 
     <leafnode> 
      <info>sometext3</info> 
     </leafnode> 
    </nodes> 

    <nodes> 
     <headnode> 
      <info>Sometext4</info> 
     </headnode> 
     <leafnode> 
      <info>sometext5</info> 
     </leafnode> 
     <leafnode> 
      <info>sometext6</info> 
     </leafnode> 
    </nodes> 
</root> 

我有上面的文檔解析在JavaBean中的服務器端。我必須從每個孩子的<headnode>中提取<info>XML解析複雜性

我曾嘗試與Java DOM來解析這一點,但我不能使用

NodeList nList = doc.getElementsByTagName("nodes"); 

進入樹的能級,但我不能循環再往下,無法檢索......從每個<headnode><nodes>標籤。請幫忙。

+0

看看JQuery的,它是專爲遍歷DOM。 – 2011-04-07 05:23:26

+0

@理查德抱歉,我沒有提到,我正在解析從Java服務器端的Java文件中的XML文檔 – Selvin 2011-04-07 05:25:10

+1

您的問題尚不清楚。請提供您的實際代碼以及您所獲得的輸出或堆棧痕跡,這會使您認爲它無法正常工作。 – 2011-04-07 06:13:57

回答

1

這將讓從每一個<headnode><info>文本在您的XML:

NodeList nodeList = doc.getElementsByTagName("headnode"); 
for (int i = 0; i < nodeList.getLength(); i++) { 
    Node node = nodeList.item(i); 
    NodeList childList = node.getChildNodes(); 
    for (int j = 0; j < childList.getLength(); j++) { 
     Node childNode = childList.item(j); 
     if (childNode.getNodeName().equals("info")) { 
      String info = childNode.getTextContent(); 
      System.out.println(info); 
     } 
    } 
}