1

首先,我使用的是客户端-服务器架构,客户端使用 android,服务器使用 node.js,它们通过 Socket.io 库连接,因此,它们使用的是 websockets。

我的疑问是我正在使用 Java 的 XMLSerializer 生成 XML 字符串,我想将其编码为 EXI 并将其发送到服务器,因此,是否可以在不使用文件的情况下进行编码 XML-EXI?直接从字符串到字符串?因为我看到的所有示例都假设我的 XML 位于一个文件中,并且我希望输出到另一个文件中。另一个疑问是,我可以将 EXI 作为字符串发送吗?因为我已经建立了客户端和服务器之间的通信,但是它们只是发送字符串,如果我可以发送整个文件,我不会发送,在这种情况下,发送的数据量会有所不同吗?

4

1 回答 1

1

最后我解决了,对于有同样问题的人,解决方法是:

String input = methodGivingXMLString();
byte inputBytes[] = input.getBytes();
ByteArrayInputStream in = new ByteArrayInputStream(inputBytes);
transmogrifier.encode(new InputSource(in));

对于输入和输出:

 ByteArrayOutputStream result = new ByteArrayOutputStream();
 transmogrifier.setOutputStream(result);

注 1:我正在使用 OpenExi 库

注 2:必须在调用 encode() 方法之前设置输出流。

于 2013-02-01T10:25:40.053 回答