在Java中,如何将XML解析为字符串而不是文件?

2022-08-31 05:26:18

我有以下代码:

DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(xmlFile);

如何让它解析字符串(而不是文件)中包含的 XML?


答案 1

我的代码库中有这个函数,这应该适用于你。

public static Document loadXMLFromString(String xml) throws Exception
{
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    InputSource is = new InputSource(new StringReader(xml));
    return builder.parse(is);
}

另请参阅此类似问题


答案 2

一种方法是使用采用 InputSource 而不是文件的解析版本

SAX 输入源可以从 Reader 对象构造。一个读取器对象是字符串读取器

所以像这样的东西

parse(new InputSource(new StringReader(myString))) may work.