我有以下代码:
DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(xmlFile);
我怎样才能解析String中包含的XML而不是文件?
我在我的代码库中有这个功能,这应该适合你.
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); }
也看到了这个类似的问题
一种方法是使用带有InputSource而不是文件的parse版本
可以从Reader对象构造SAX InputSource.一个Reader对象是StringReader
所以像
parse(new InputSource(new StringReader(myString))) may work.
javadocs显示parse方法已重载.
使用字符串XML创建StringStream或InputSource,您应该进行设置.