Документация может помочь вам: http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/parsers/DocumentBuilder.html
Метод DocumentBuilder.parse(String)
берет URI и пытается открыть его. Если вы хотите предоставить контент напрямую, вы должны указать ему InputStream
или Reader
, например StringReader
. ... Добро пожаловать на стандартные уровни указаний Java!
В основном:
DocumentBuilder db = ...;
String xml = ...;
db.parse(new InputSource(new StringReader(xml)));
Обратите внимание, что если вы читаете ваш XML из файла, вы можете напрямую передать объект File
в DocumentBuilder.parse()
.
В качестве примечания, с этим шаблоном вы часто сталкиваетесь в Java. Обычно большинство API работают с потоками больше, чем со строками. Использование потоков означает, что потенциально не весь контент должен загружаться в память одновременно, что может быть хорошей идеей!