在Java中解析XML字符串的最佳方法?

Sor*_*son 4 java xml

我在使用Java解析一个字符串javax.xml.parsers.DocumentBuilder.但是,没有直接解析String的函数,所以我这样做:

public static Document parseText(String zText) {
    try
    {
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(new InputSource(new StringReader(zText)));
        doc.getDocumentElement().normalize();
        return doc;
    }
    catch (Exception e) {
            e.printStackTrace();
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

这是最好的方法吗?我觉得必须有一个更简单的方法......谢谢!

ape*_*ins 5

直接回答你的问题 - 据我所知,没有更好的方法.使用输入源是因为它更通用,可以处理来自文件,字符串或线路的输入是我的理解.

您也可以尝试使用SAX Xml解析器 - 它更基本,并使用访问者模式,但它完成了工作,对于小型数据集和简单的XML模式,它非常容易使用.SAX也包含在核心JRE中.