java - 如何查找 XML 文档中的所有标签?

标签 java xml

目前我正在使用这种方法在 XML 文档中查找指定的标签:

public static String parseDocument(byte[] stream, String tagName, String resourceName) {

        String result = null;
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        try {
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document document = builder.parse(new ByteArrayInputStream(stream));
            document.getDocumentElement().normalize();

            Node tag = document.getElementsByTagName(tagName).item(0);
            result = tag.getAttributes().getNamedItem(resourceName).getNodeValue();
        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result;

    }

但这只返回第一个匹配项。如何实现返回所有找到的标签的方法?

最佳答案

NodeList tags = document.getElementsByTagName(tagName);
List<String> values = new ArrayList<String>();
for (int i = 0 ; i < tags.getLength() ; i++) {
    values.add(tags.item(i).getNodeValue());
}

关于java - 如何查找 XML 文档中的所有标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8357854/

相关文章:

java - 有机会获得3连胜

java - 有没有更好的方法在 Android 中显示 %

php 无效标签上的简单 xml 解析问题

c# - 在不将 & 转换为 &amp; 的情况下保存 XML 文件

python - 使用 xml.etree.elementtree 解析 XML 数据,然后求和

java - 如何在 Mysql 数据库中建模 java.time.duration

java - 对象是否有 native 类型安全的包装和拆箱?

java - 创建带有扩展名的文件夹/容器但将其视为文件?

java - 在 Java 中使用 XML 作为数据库

java - 获取知道包名称的应用程序名称