2011-05-26 67 views
0

有人可以告诉我如何阅读这种XML文件来获取子元素名称?Java XML读取问题:读取不同的子标签

<CEB> 
    <MOREVALUES></MOREVALUES> 
</CEB> 

<DILOG> 
    <MOREVALUES></MOREVALUES> 
</DILOG> 

<MOBITLE> 
    <MOREVALUES></MOREVALUES> 
</MOBITLE>  

e.g我想读<CTLBILL>标签内的所有子标签。 <CEB><DILOG><MOBITLE>

这不起作用:

public static void getTags() { 
     try { 
      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
      DocumentBuilder db = dbf.newDocumentBuilder(); 
      Document doc = db.parse(new File("C:\\ctlbill.xml")); 
      NodeList nodeLst = doc.getChildNodes(); 
      for (int s = 0; s < nodeLst.getLength(); s++) 
      {   
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
} 
+1

良好的格式是你的朋友Aruna .. – 2011-05-26 05:32:16

+0

谢谢Sener Gonul ...感谢您的帮助... – 2011-05-26 05:35:59

+0

什么不工作? nodeLst为空,或者nodeLst.item(i)没有返回你期望的结果? – 2011-05-26 05:37:49

回答

1

尝试使用:

NodeList nodeLst = doc.getDocumentElement().getChildNodes(); 
for (int s = 0; s < nodeLst.getLength(); s++) 
    if (nodeLst.item(s) instanceof Element) 
     System.out.println(nodeLst.item(s).getNodeName()); 

我假设CTLBILL是包含CEB,DILOG和MOBITLE元素(文档(根)元素以及形成的XML必须只有一个根元素)。

+0

Thsnks帮助好友... :) NodeList nodeLst = doc.getDocumentElement()。getChildNodes();这是我错过了...非常感谢.. – 2011-05-26 05:49:31