java - 如何使用Java提取XML文档中2个兄弟节点之间的内容

标签 java xml dom xml-parsing

示例 xml 文档:

<a>
    <b>...</b>
    xyz
    <c>...</c>
</a>

有没有办法使用Java代码(通过DOM解析)提取位于标签bc之间的内容xyz

最佳答案

假设该元素引用标签“a”,如果您在“b”和“c”标签前后都有内容,则以下代码应该提取您想要的内容并且也可以工作

    NodeList content = element.getChildNodes();
    StringBuilder textContent = new StringBuilder();
    int cntLength = content.getLength();
    for ( int i = 0; i < cntLength; i++ ) {
        Node paramValue = content.item( i );
        short type = paramValue.getNodeType();
        if ( ( type == Node.TEXT_NODE ) || ( type == Node.CDATA_SECTION_NODE ) ) {
            textContent.append( ((CharacterData) paramValue).getData() );   //  Both Text and CDATASection nodes are SubType of CharacterData
        }
    }

关于java - 如何使用Java提取XML文档中2个兄弟节点之间的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5950279/

相关文章:

java - 如何使用 JAXB 注释将 Java 列表转换为 XML?

xml - GWT 和 Sencha GXT : FormPanel result fails

javascript - 提高 Javascript 性能的技巧

javascript - Backbone js 如何与 css 选择器交互?

java - 将方法更改为java中的运行时异常

ssl - 为 Java RMI 服务器/客户端强制使用 SSL/TLS 版本

xml - XML 1.0 和 XML 2.0 的区别

android - dom解析时如何区分父子标签?

java - 正则表达式捕获组

java - 如何在原始数据文件中使用 block 分隔符?