java - 如何在 Java 中将字符串解析为 XML 文档?

标签 java xml-parsing

我正在尝试将包含 XML 的字符串解析为 Java 中的文档对象。该方法的源代码如下:

private Document getDocument(String xml) {

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
    DocumentBuilder builder = null;  

    try {
        builder = factory.newDocumentBuilder();
    } catch (ParserConfigurationException e) {
        e.printStackTrace();
    }

    Document doc = null;
    try {
        doc = builder.parse(new InputSource(new StringReader(xml)));
    } catch (SAXException e) {
        System.out.println(e.toString());
    } catch (IOException e) {
        System.out.println(e.toString());
    }

    return doc;
}

根据调试器,我总是得到 doc 变量的值:

[#document: null]

有谁知道出了什么问题吗?

感谢您的宝贵时间!

最佳答案

这是正常的,因为调试器正在调用 Document#toString() 并打印 [node_name: node_value]。根据 W3C spec 文档节点的节点值为 null 。如果您想打印根元素的名称,您应该评估doc.getDocumentElement().getNodeName()

关于java - 如何在 Java 中将字符串解析为 XML 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39227855/

相关文章:

java - 使用 hibernate 的属性文件连接到 Mysql 数据库

java - 有谁知道一个好的开源评论模块?

java - 运行 makefile --add-stdcall-alias 时出现 JNI 问题

xml - 这是什么标记语言? ...行尾而不是结束标签

objective-c - 在iPhone中解析相同的元素名称

java - 使用 Java 将所有错误答案添加到数组中 - 如何?

java - AlertDialog 上没有键盘,因为没有焦点在对话框上并且仍然在后台 Activity 上,如何解决?

java - 在 java 中查询 xml 的最快方法

c++ - 如何使用 pugixml 提取子数据?

c++ - 我如何使用 tinyxml 将 xml 属性转换为 C++ 类