gpt4 book ai didi

java - 如何打印格式化的 SOAPMessage?

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

我有一个 SOAPMessage(位于 javax.xml.soap.SOAPMessage 中)。

然而,打印它的唯一方法似乎是 soapMessage.writeTo(System.out); 然而,这没有任何新行,并且有一个大的 SOAPMessage它可能很难阅读。

此外,使用 System.out.println(soapMessage.toString()); 只是打印出:

com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl@76c7e77a

我查看了How to pretty print XML from Java? , How to print SOAPMessageHow to convert SOAPBody to String但都没有解决换行符和/或格式化 SOAPMessage 的问题。

最佳答案

如果您不介意向项目添加额外的依赖项,那么 jdom 可为 XML 提供良好的格式化输出。

文档位于jdom.org非常值得一看。

这有点复杂,但您可以将 XML 写入 JDOM Document 对象,然后使用 XMLOutputter 对象以漂亮的格式打印它。:

    // write the SoapMessage to a String called xml
File file= new File(pathToFile);
file.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream(file);
soapMessage.writeTo(fileOutputStream);
fileOutputStream.flush();
fileOutputStream.close();
SAXBuilder b = new SAXBuilder();
Document doc = b.build(file);
XMLOutputter xmlOutputter = new XMLOutputter(Format.getPrettyFormat());
xmlOutputter.output(doc, System.out);

关于java - 如何打印格式化的 SOAPMessage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28420707/

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