首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java/DOM:获取节点的XML内容

Java/DOM:获取节点的XML内容
EN

Stack Overflow用户
提问于 2009-01-27 20:04:06
回答 6查看 19.5K关注 0票数 7

我正在使用W3C DOM在Java语言中解析一个XML文件。我陷入了一个特定的问题,我不知道如何获取节点的整个内部XML。

该节点如下所示:

代码语言:javascript
复制
<td><b>this</b> is a <b>test</b></td>

我必须使用什么函数才能获得它:

代码语言:javascript
复制
"<b>this</b> is a <b>test</b>"

EN

Stack Overflow用户

发布于 2012-03-13 17:48:50

你对此有何感想?我今天在android上也遇到了同样的问题,但我设法做了一个简单的“序列化程序”。

代码语言:javascript
复制
private String innerXml(Node node){
        String s = "";
        NodeList childs = node.getChildNodes();
        for( int i = 0;i<childs.getLength();i++ ){
            s+= serializeNode(childs.item(i));
        }
        return s;
    }

    private String serializeNode(Node node){
        String s = "";
        if( node.getNodeName().equals("#text") ) return node.getTextContent();
        s+= "<" + node.getNodeName()+" ";
        NamedNodeMap attributes = node.getAttributes();
        if( attributes!= null ){
            for( int i = 0;i<attributes.getLength();i++ ){
                s+=attributes.item(i).getNodeName()+"=\""+attributes.item(i).getNodeValue()+"\"";
            }
        }
        NodeList childs = node.getChildNodes();
        if( childs == null || childs.getLength() == 0 ){
            s+= "/>";
            return s;
        }
        s+=">";
        for( int i = 0;i<childs.getLength();i++ )
            s+=serializeNode(childs.item(i));
        s+= "</"+node.getNodeName()+">";
        return s;
    }
票数 1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/484995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档