首先,我使用客户端 - 服务器架构,客户端为android,服务器为node.js,它们通过Socket.io库连接,因此,他们使用的是websockets。
我怀疑的是我使用Java中的XMLSerializer生成XML字符串,我想将其编码为EXI并将其发送到服务器,因此,是否可以在不使用文件的情况下执行编码XML-EXI?直接从字符串到字符串?因为我看到的所有例子都假设我的XML在一个文件中,我希望输出到另一个文件中。另一个疑问是,我可以将EXI作为字符串发送吗?因为我已经建立了客户端和服务器之间的通信,但是他们只是发送字符串,如果我可以发送整个文件,我不知道,在这种情况下,发送的数据量会有什么不同吗?
答案 0 :(得分: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()方法之前设置输出流。