程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了例如,在编组为XML时,是否可以强制JAXB不要将“转换为”?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决例如,在编组为XML时,是否可以强制JAXB不要将“转换为”??

开发过程中遇到例如,在编组为XML时,是否可以强制JAXB不要将“转换为”?的问题如何解决?下面主要结合日常开发的经验,给出你关于例如,在编组为XML时,是否可以强制JAXB不要将“转换为”?的解决方法建议,希望对你解决例如,在编组为XML时,是否可以强制JAXB不要将“转换为”?有所启发或帮助;

我的队友找到的解决方案:

PrintWriter printWriter = new PrintWriter(new fileWriter(xmlfilE));
DataWriter dataWriter = new DataWriter(printWriter, "UTF-8", DumbEscapeHandler.theInstancE);
marshaller.marshal(@R_618_10613@est, dataWriter);

而不是将xmlfile传递给marshal(),而是传递DataWriter,它既知道编码又知道适当的转义处理程序(如果有)。

注意:由于DataWriter和DumbEscapeHandler都在com.sun.xml.internal.bind.marshaller包中,因此必须引导Javac。

解决方法

我有一个使用JAXB编组为XML的对象。一个元素包含一个包含引号(“)的字符串。生成的XML具有"”“所在的位置。

即使通常首选这样做,我也需要我的输出来匹配 系统。如何强制JAXB不转换HTML实体?

-

感谢您的答复。但是,我从未见过调用处理程序escape()的情况。您可以看看我在做什么吗?谢谢!

package org.dc.model;

import java.io.IOException;
import java.io.Writer;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

import org.dc.generated.Shiporder;

import com.sun.xml.internal.bind.marshaller.CharacterEscapeHandler;

public class PleaseWork {
    public void prettyPlease() throws JAXBException {
        Shiporder shipOrder = new Shiporder();
        shipOrder.setOrderid("Order's ID");
        shipOrder.setOrderperson("The woman said,\"How ya doin & stuff?\"");

        JAXBContext context = JAXBContext.newInstance("org.dc.generated");
        Marshaller marshaller = context.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,Boolean.TRUE);
        marshaller.setProperty(CharacterEscapeHandler.class.getName(),new CharacterEscapeHandler() {
                    @Override
                    public void escape(char[] ch,int start,int length,Boolean isAttVal,Writer out) throws IOException {
                        out.write("Called escape for characters = " + ch.toString());
                    }
                });
        marshaller.marshal(shipOrder,System.out);
    }

    public static void main(String[] args) throws Exception {
        new PleaseWork().prettyPlease();
    }
}

-

输出是这样的

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<shiporder orderid="Order's ID">
    <orderperson>The woman said,&quot;How ya doin &amp; stuff?&quot;</orderperson>
</shiporder>

如您所见,该回调从未显示。(一旦调用了回调,我将担心让它实际执行我想要的操作。)

-

大佬总结

以上是大佬教程为你收集整理的例如,在编组为XML时,是否可以强制JAXB不要将“转换为”?全部内容,希望文章能够帮你解决例如,在编组为XML时,是否可以强制JAXB不要将“转换为”?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:例如