2011-04-07 105 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); 
     } 
    } 
}