2017-03-29 133 views
0

下面是一个包含一个指定的文件夹结构的XML文件中的字符串XML遍历查找节点名称

 String xml ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + 
        "<folder name=\"c\">" + 
         "<folder name=\"program files\">" + 
          "<folder name=\"uninstall information\" />" + 
         "</folder>" + 
         "<folder name=\"users\" />" + 
        "</folder>"; 

如果用户输入的方法必须返回该文件夹的名称(以下文件夹的首字母是它的一部分方法我试过了)

DocumentBuilder builder = 
    DocumentBuilderFactory.newInstance().newDocumentBuilder(); 
      InputSource src = new InputSource(); 
      src.setCharacterStream(new StringReader(xml)); 
      Document doc = builder.parse(src);   
      List<String> listObj = new ArrayList<String>(); 
      if(doc.getElementsByTagName("folder").item(0) != null){ 
    System.out.println(doc.getElementsByTagName("folder").item(0).getNodeValue());} 

但在我的方法中,我总是得到空。我如何迭代并找出文件夹名称?

回答

1

name是文件夹标签的属性,所以你必须使用下面的代码:

System.out.println(doc.getElementsByTagName("folder").item(0).getAttributes().getNamedItem("name").getNodeValue()); 
+0

是的,先生......你现在它显示正确的值!谢谢 – Suyash