如何将 SOAP 消息的字节数组转换为 Java 中的原始 XML

How to convert byte array of a SOAP message to raw XML in Java

我正在开发 Web 服务,服务通过 SOAPMessage (SOAP XML) 相互通信。 SOAPMessage 以字节数组的形式进入我的方法

public void process(byte xmlByteArray[]){ ... ..... }

我需要将此字节数组转换为原始 XML 以便我可以使用 JDOM 对其进行处理。

你知道这个问题的解决方案吗?

试试这个:

public static Document byteArrayToDocument( final byte[] byteArray ) throws IOException, SAXException,
        ParserConfigurationException
{
     final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
     final DocumentBuilder builder = factory.newDocumentBuilder();
     return builder.parse( new ByteArrayInputStream( byteArray ) );
}
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(new ByteArrayInputStream(xmlByteArray));

http://www.java2s.com/Code/Java/XML/ReadanXMLdocumentusingJDOM.htm

这是 VTD-XML

中的操作方法

导入com.ximpleware.*;

public class readBytes{

    public static void main(String[] s} throws VTDException{
        VTDGen vg = new VTDGen();
        //get XML Byte array here
        vg.setDoc(xmlByteArray);
        vg.parse();
        VTDNav vn = vg.getNav();
    }
}