[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[备忘]java dom中获取某个元素element的整个xml内容

上一篇:[备忘]一堆XML串直接转SOAPMessage
下一篇:[备忘]nginx下配置静态图片访问

添加日期:2017/3/14 9:29:08 快速返回   返回列表 阅读3264次
element的方法里没有这样的功能,只能通过格式化等方式获取。

从老外那复制了一个,只依赖jdk本身,反正好使。


package com.xxxx;

import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;

import org.apache.log4j.Logger;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.bootstrap.DOMImplementationRegistry;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSSerializer;


public class BaseClient {

    static Logger logger = Logger.getLogger(BaseClient.class);

    private static LSSerializer domWriter;

    static {
        DOMImplementationRegistry registry;
        try {
            registry = DOMImplementationRegistry.newInstance();
            DOMImplementationLS impl = (DOMImplementationLS) registry
                    .getDOMImplementation("LS");
            domWriter = impl.createLSSerializer();

            domWriter.getDomConfig().setParameter("format-pretty-print",
                    Boolean.TRUE); // 是否格式化
            domWriter.getDomConfig().setParameter("xml-declaration", false); // 保留XML声明行

        } catch (Exception e) {
            logger.error("domWriter初始化出错", e);
        }
    }

    /**
     * 获取XML节点的XML内容.
     * @param node
     * @return
     */
    protected String getNodeXml(Node node) {
        return domWriter.writeToString(node);
    }
}

 

评论 COMMENTS
没有评论 No Comments.

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved