插入到 Rest XML 响应-6ren"> 插入到 Rest XML 响应-如何在 Spring Boot 应用程序中将 XML Prolog 插入到 Rest XML 响应。 我在 Spring Boot Rest api 中使用 jackson xml 数据格式。 我当前-6ren">
gpt4 book ai didi

java - 如何在 Spring Boot 应用程序中将 XML Prolog 插入到 Rest XML 响应

转载 作者:行者123 更新时间:2023-12-02 03:05:04 25 4
gpt4 key购买 nike

如何在 Spring Boot 应用程序中将 XML Prolog 插入到 Rest XML 响应。

我在 Spring Boot Rest api 中使用 jackson xml 数据格式。

我当前的rest-xml响应是:

<Response>
<person id = "hello">
<name>xyz</name>
</person>
</Response>

当我想要的时候:

<?xml version = "1.0" encoding = "UTF-8"?>
<Response>
<person id = "hello">
<name>xyz</name>
</person>
</Response>

最佳答案

希望这会对某人有所帮助:为了获得完整的解决方案,请从 Sambit 获取答案,稍微调整一下并编写以下实用程序类。请注意,convertPojoToXmlString() 返回一个 XML 字符串,然后可以将其发送回调用者:

package com.xml.util;
import java.io.IOException;
import java.io.StringWriter;

import javax.xml.stream.FactoryConfigurationError;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;

import com.ctc.wstx.api.WstxInputProperties;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;

/**
* @author ekariyev
*
*/
public class XmlUtil {

private final static XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newFactory();

static {
xmlOutputFactory.setProperty(WstxInputProperties.P_RETURN_NULL_FOR_DEFAULT_NAMESPACE, true);
}

/**
* @param object
* @return
* @throws XMLStreamException
* @throws IOException
* @throws FactoryConfigurationError
*/
public static String convertPojoToXmlString(final Object object) throws XMLStreamException, IOException {

final StringWriter stringWriter = new StringWriter();

try {
final XMLStreamWriter sw = xmlOutputFactory.createXMLStreamWriter(stringWriter);
final XmlMapper mapper = new XmlMapper();

sw.writeStartDocument();

mapper.writeValue(sw, object);

sw.writeEndDocument();

sw.flush();

} finally {
stringWriter.close();
}

return stringWriter.toString();

}

}

该解决方案适用于:

<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.9.5</version>
</dependency>

关于java - 如何在 Spring Boot 应用程序中将 XML Prolog <?xml version = "1.0"encoding = "UTF-8"?> 插入到 Rest XML 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57027821/

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