1

我在 String 变量中有一个 XML,我想将该值传递到 DocumentBuilder 的 parse() 中。

String xml = "<?xml version="1.0 ....>";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource(new StringReader(xml)));

但是,似乎最后一行不起作用,因为 doc 为空。

这有什么问题吗?我只是在尝试获取一个 xml 值并将其转换为 Document。

感谢帮助。

4

1 回答 1

2

你需要更近的东西

DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse(new InputSource(new StringReader(xml)));

您可以将其修剪为:

DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = docBuilder.parse(new InputSource(new StringReader(xml)));

请注意,通常您会期望一个 XML 文件,它会是:

DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse(new File(fullpathtofile));
于 2012-10-02T19:40:05.263 回答