`

解决XML空结点非标准格式问题

    博客分类:
  • XML
 
阅读更多

解决XML空结点格式问题:

   如有的XML标准空结点如:<GNo></GNo>要求生成<GNo/>的形式。利用DOM4J的document.asXML方法解决。

/** 
    * @Title: marshaller 
    * @Description: 生成XML报文,并解决空节点问题:如<GNo></GNo>改为<GNo/>
    * @param @param marobject
    * @param @param mappingfile
    * @param @param fileName
    * @param @return
    * @param @throws Exception   
    * @return String  
    * @throws 
    */ 
    public static String marshaller(Object marobject, String mappingfile,String fileName) throws Exception {
        String objStr = "";
        try {
            Mapping map = new Mapping();
            map.loadMapping(mappingfile);
            if (true) {
                StringWriter sw = new StringWriter();
                Marshaller marshaller = new Marshaller(sw);
                marshaller.setEncoding("UTF-8");
                marshaller.setMapping(map);
                marshaller.marshal(marobject);
                sw.flush();
                objStr = sw.toString();
                
                FileOutputStream fo = new FileOutputStream(new File(fileName));
                PrintStream so = new PrintStream(fo,true,"UTF-8");
            	Document document = DocumentHelper.parseText(objStr);
                so.print(document.asXML());
            	
                sw.close();
            }
        } catch (Exception ex) {
            throw new Exception("marshaller() " + ex.toString());
        }
        return objStr;
    }

 

分享到:
评论

相关推荐

    Tinyxml 源代码(VC6 & VS2005)

    如果文件或者数据流以非标准但普遍的"UTF-8引导字节" (0xef 0xbb 0xbf)开始,TinyXML会以UTF-8的方式来读取它。 如果包含有encoding="UTF-8"的声明被读取,那么TinyXML会以UTF-8的方式来读取它。 如果读取到没有指定...

    xml中的空格之完全解说

    保留下来的空格结点可能是因为它们属于空格保留组件(如`xsl:text`元素),或者包含了非空格字符,或者因为祖先组件中的`xml:space`属性设置为`preserve`。 总之,XML中的空格处理是一项细致的工作,涉及到XML解析...

    解析器与应用程序接口PPT学习教案.pptx

    解析器是处理XML文档的关键组件,它的主要任务是对XML文档进行解析,确保其格式正确,并将内容和结构传递给应用程序。XML解析器分为两种主要类型:验证解析器和非验证解析器。验证解析器不仅检查XML文档的语法正确性...

    从XPath到SQL算法的实现.pdf

    首先,要了解的是XPath语言,它是W3C组织所制定的标准,用于在XML文档中寻址和选取信息。XPath提供了一个定位语法,使得XSLT(Extensible Stylesheet Language Transformations)和XPointer等技术能有效地对XML文档...

    Java核心技术II(第8版)

    10.4.2 传递非远程对象 10.4.3 动态类加载 10.4.4 具有多重接口的远程引用 10.4.5 远程对象与equals、hashCode和clone方法 10.5 远程对象激活 10.6 Web Services与JAX-WS 10.6.1 使用JAX-WS 10.6.2 Web服务的客户端 ...

    js节点操作

    处理指令用于向应用程序传递非 XML 数据。 ##### 11. createTextNode 创建包括给定数据的文本节点 `createTextNode` 方法创建一个新的文本节点。这是创建文本内容的基本方法。 ##### 12. getElementsByTagName ...

    精通JavaScript

    • 9.3.htm 非标准事件绑定 • 9.4.htm 简单的JavaScript事件绑定 • 9.5.htm 简单的JavaScript事件绑定 • 9.6.htm 事件处理器的作用域 • 9.7.htm 事件处理器的作用域之...

    2018年上半年信息系统管理

    9. 计算机网络通信协议:在网络通信中,SGML、XML、HTML、VRML等都是用于数据表示和结构化描述的标准格式。 10. Windows资源管理器文件操作:在Windows系统中,选择离散文件时可以通过按住CTRL键或SHIFT键配合鼠标...

    前端笔试面试题目总结.docx编程资料

    #### 浏览器兼容性问题与解决方案 - **内核**:Chrome 使用 Blink,Firefox 使用 Gecko,Safari 使用 WebKit,Edge 使用 EdgeHTML。 - **常见兼容性问题**:如 IE 下的盒模型问题、CSS3 新特性支持度差异、事件模型...

    NOIP2011提高组初赛试题-C++含答案.pdf

    8. 万维网联盟(W3C)制定了包括HTML、XML、CSS在内的Web标准,以确保兼容性和信息流通。 9. 这种站队方式类似于插入排序,每个学生找到比自己高的同学并插入其后。 10. 诺贝尔物理学奖在1956年授予了肖克利、巴丁和...

    网络工程师复习笔记及考点归纳.pdf

    弹性分组环(RPR)能够在50毫秒内隔离故障,每个结点都能执行公平算法,以确保网络的高效运行。 在路由器的冗余设计中,包括接口冗余、电源冗余、系统板冗余、时钟冗余以及设备冗余,这些冗余设计能提高网络的可用...

    C#编程经验技巧宝典

    2 &lt;br&gt;0003 设置程序代码行序号 3 &lt;br&gt;0004 开发环境全屏显示 3 &lt;br&gt;0005 设置窗口的自动隐藏功能 3 &lt;br&gt;0006 根据需要创建所需解决方案 4 &lt;br&gt;0007 如何使用“验证的目标架构”功能 4 ...

Global site tag (gtag.js) - Google Analytics