문자열에 완전한 XML 문서가 있고 Document
객체를 원합니다 . Google은 모든 종류의 쓰레기를 찾아냅니다. 가장 간단한 해결책은 무엇입니까? (Java 1.5에서)
솔루션 Matt McMinn 덕분에 저는이 구현을 결정했습니다. 적절한 수준의 입력 유연성과 예외 세분성을 갖추고 있습니다. (오류가 잘못된 XML에서 발생했는지 아니면 SAXException
잘못된 IO 에서 발생했는지 아는 것이 좋습니다 IOException
.)
public static org.w3c.dom.Document loadXMLFrom(String xml)
throws org.xml.sax.SAXException, java.io.IOException {
return loadXMLFrom(new java.io.ByteArrayInputStream(xml.getBytes()));
}
public static org.w3c.dom.Document loadXMLFrom(java.io.InputStream is)
throws org.xml.sax.SAXException, java.io.IOException {
javax.xml.parsers.DocumentBuilderFactory factory =
javax.xml.parsers.DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
javax.xml.parsers.DocumentBuilder builder = null;
try {
builder = factory.newDocumentBuilder();
}
catch (javax.xml.parsers.ParserConfigurationException ex) {
}
org.w3c.dom.Document doc = builder.parse(is);
is.close();
return doc;
}