我想从头开始创建XML文件,而函数解析存在问题,我有以下代码。该文档指出:
“抽象文档parse(InputSource is)解析内容 给定输入源作为XML文档并返回一个新的DOM Document 对象。”
//Line with the issue on the parse function
Document document = docBuilder.parse(new InputSource(new StringReader(str)));
我得到的错误是:“ DocumentBuilder类型的parse(InputStream)方法不适用于参数(InputSource)”
可能是什么问题?谢谢。
private static Document toXmlDocument(String str) throws ParserConfigurationException, SAXException, IOException{
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document document = docBuilder.parse(new InputSource(new StringReader(str)));
return document;
}
public static void main(String[] args) {
try{
String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
"<xbrli:xbrl\\n"+
"xmlns:xbrli=\"http://www.xbrl.org/2003/instance\" "+
"xmlns:link=\"http://www.xbrl.org/2003/linkbase\" "+
"xmlns:xlink=\"http://www.w3.org/1999/xlink\"><\n"+
"</xbrli:xbrl>";
Document doc = toXmlDocument(xmlStr);
}
catch(Exception e ){
e.printStackTrace();
}
}
答案 0 :(得分:2)
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document d = db.parse(new ByteArrayInputStream(string.getBytes()));
这将为您工作。您也不需要将InputStream包装在InputSource中,因为这也是一个选择。