java - 如何在 Java 中解析包含 XML 的字符串并检索根节点的值?

标签 java xml root

我有一个包含

的字符串形式的 XML
<message>HELLO!</message> 

我怎样才能得到字符串“你好!”来自 XML?这应该很容易,但我迷路了。 XML 不在文档中,它只是一个字符串。

最佳答案

使用 JDOM :

String xml = "<message>HELLO!</message>";
org.jdom.input.SAXBuilder saxBuilder = new SAXBuilder();
try {
    org.jdom.Document doc = saxBuilder.build(new StringReader(xml));
    String message = doc.getRootElement().getText();
    System.out.println(message);
} catch (JDOMException e) {
    // handle JDOMException
} catch (IOException e) {
    // handle IOException
}

使用 Xerces DOMParser:

String xml = "<message>HELLO!</message>";
DOMParser parser = new DOMParser();
try {
    parser.parse(new InputSource(new java.io.StringReader(xml)));
    Document doc = parser.getDocument();
    String message = doc.getDocumentElement().getTextContent();
    System.out.println(message);
} catch (SAXException e) {
    // handle SAXException 
} catch (IOException e) {
    // handle IOException 
}

使用 JAXP 接口(interface):

String xml = "<message>HELLO!</message>";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
    db = dbf.newDocumentBuilder();
    InputSource is = new InputSource();
    is.setCharacterStream(new StringReader(xml));
    try {
        Document doc = db.parse(is);
        String message = doc.getDocumentElement().getTextContent();
        System.out.println(message);
    } catch (SAXException e) {
        // handle SAXException
    } catch (IOException e) {
        // handle IOException
    }
} catch (ParserConfigurationException e1) {
    // handle ParserConfigurationException
}

关于java - 如何在 Java 中解析包含 XML 的字符串并检索根节点的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8408504/

相关文章:

javascript - 从 E4X 复制的 XML 中删除命名空间属性

linux - 成为 root 的 Shell 脚本?

c++ - 查找字符串是否包含字符串并处理附加数字

java - 通过 Java 数据库到 XML(反之亦然)

Java:测试字符串是否以换行符结尾

java - 使用 Nightwatch 测试 Node.js 项目时如何在 Travis CI 上运行 Selenium Server

linux - 如何在 Hudson 作业中以 root 身份执行命令行?

java - 映射实体,列表作为映射值。通过 JDBC 语句执行 DDL "drop table if exists ` single_line`"时出错

java - Android 应用程序崩溃 NullPointerException

jquery - 如何通过 HTML 表单将 XML 发布到服务器?