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());}

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

name

文件夹标签的属性,因此您必须使用以下代码:

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

最新更新