如何解析XML文档?

3
我有一个存储在变量中的XML文档(不是文件)。如何获取其中存储的数据?我没有任何额外的文件,它是“内置”于我的源代码中。当我使用时

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(XML);

(XML是我的xml变量),我遇到了一个错误。
java.io.FileNotFoundException: C:\netbeans\app-s7013\<network ip_addr="10.0.0.0\8" save_ip="true"> File not found.
2个回答

5

将您的XML读入StringReader中,将其包装在InputSource中,并将其传递给您的DocumentBuilder:

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

2
假设XML是一个字符串,不要被接受字符串的那个版本所困惑 - 这个字符串是一个URL,不是你的输入!
你需要的是接受输入流的版本。
你需要创建一个基于字符串的输入流(我会尝试找到代码示例,但你可以在谷歌上搜索)。通常涉及到StringReader

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接