当前位置: 首页 > 知识库问答 >
问题:

FasterXML Jackson-DataFormat-xml序列化版本和编码未添加到xml

况谦
2023-03-14
<?xml version="1.0" encoding="utf-8"?>
<SampleRequest>
... 
</SampleRequest>

但我只有这个

<SampleRequest>
... 
</SampleRequest>

jackson fasterxml Anotation中是否需要添加任何配置。

共有1个答案

麹凯捷
2023-03-14

您可以配置XMLMapper来编写XML标头。

XmlMapper xmlMapper = new XmlMapper();
xmlMapper.configure( ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true );

例如:

import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator;
import java.io.IOException;

public class Xml {
    public static void main(String[] args) throws IOException {
     // Important: create XmlMapper; it will use proper factories, workarounds
        XmlMapper xmlMapper = new XmlMapper();
        xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);
        xmlMapper.writeValue(System.out, new SampleRequest());
    }
}

class SampleRequest{
    public int x = 1;
    public int y = 2;
}

这将生成输出:

<?xml version="1.0" encoding="UTF-8"?>
<SampleRequest>
   ...
</SampleRequest>
public static final String P_USE_DOUBLE_QUOTES_IN_XML_DECL="com.ctc.wstx.useDoubleQuotesInXmlDecl";
 类似资料:
  • 如果我使用jackson dataformat xml序列化JsonNode的ArrayList,它会产生以下结果: 我想把它读出来: 我尝试过使用自定义序列化程序,并确实给了我

  • 问题内容: 我有一些xml,这是它的简单版本。 在内容上使用SimpleXML, 我可以使用并访问@attributes。 我需要一个数组结果,所以我尝试了这个技巧,但这看起来是要删除对@attributes的访问(即abc =“ 123”)。 还有另一种方法可以提供对属性的访问并使我留下一个数组吗? 问题答案: 您可以使用和一起走,并可以添加缺少的内容,因为-ing使用遵循某些特定规则。 如果您

  • 我在尝试反序列化xml时收到以下错误。这会产生错误: XmlSerializer serializer=新XmlSerializer(typeof(PrivateOptionsAPIResponse)) var result=序列化程序。反序列化(streamReader); 例外情况: 系统捕获到InvalidOperationException消息=XML文档(0,0)中有错误 InnerEx

  • 假设类似xml 计算表达式的返回类型=字符串,如 将返回“test”。然而,我希望得到序列化的xml,所以类似于 应该退回。由于我无法在java的xpath实现(xerces)中检查返回类型,因此我无法简单地获得一个对象作为结果,如果它确实是一个节点,则将其转换为序列化的xml。 注意:我不知道表达式是否会实际返回节点、字符串、数字或其他任何内容,因此我无法为eval函数提供适当的返回类型,但字符

  • 我不知道如何让maven-shade-plugin将应用程序版本从POM文件包含到Manifest文件中。我找到了一些maven-jar-plugin的示例,建议包括 在插件配置部分(http://blog.soebes.de/blog/2014/01/02/version-information-into-your-appas-with-maven/)中。我为maven-shade-plugin

  • 我目前正在重写一个PHP类,该类试图将XML文件拆分为更小的块,以使用XMLReader和XMLWriter,而不是当前的基本文件系统和正则表达式方法。 但是,我不知道如何从XML前导中获取版本、编码和独立标志。 我的测试XML文件的开头如下所示: 我可以用read()、next()等打开文档,但我似乎无法得到