gpt4 book ai didi

java - 没有 XML 声明的 XStream(new StaxDriver())

转载 作者:数据小太阳 更新时间:2023-10-29 02:41:21 27 4
gpt4 key购买 nike

我的程序JAVA:

public static String toXml() {
KtpMessage ktpMessage =new KtpMessage();
ktpMessage.setdetails("test");
XStream xstream = new XStream(new StaxDriver());
String objectXml = xstream.toXML(ktpMessage);
return objectXml;

结果是:

<?xml version='1.0' encoding='utf-8'?><myclasses.Message><details>test</details></myclasses.Message>

我的问题:我想生成“objectXml”但没有 <?xml version='1.0' encoding='utf-8'?>我该怎么做?

我想要这样的结果:

<myclasses.Message><details>test</details></myclasses.Message>

谢谢你的帮助

最佳答案

如果您创建自己的 StaxWriter您可以使用构造函数告诉它不要编写 startDocument StAX 事件(这是创建 XML 声明的原因)。像这样(省略了异常处理):

StaxDriver drv = new StaxDriver();
XStream xstream = new XStream(drv);
StringWriter strWriter = new StringWriter();
StaxWriter sw = new StaxWriter(drv.getQnameMap(),
drv.getOutputFactory().createXMLStreamWriter(strWriter),
false, // don't do startDocument
true); // do repair namespaces
xstream.marshal(ktpMessage, sw);
sw.close();
String objectXml = strWriter.toString();

关于java - 没有 XML 声明的 XStream(new StaxDriver()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15762109/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com