首先,我使用的是客户端-服务器架构,客户端是android,服务器端是node.js,它们是通过Socket.io库连接在一起的,所以他们使用websockets。
我的疑问是,我正在从Java中生成一个带有XMLSerializer的XML字符串,我想将其编码为EXI并将其发送到服务器,因此,是否可以在不使用文件的情况下对XML-EXI进行编码?直接从字符串转换为字符串?因为我看到的所有示例都假设我的XML在一个文件中,而我希望输出到另一个文件中。另一个疑问是,我是否可以将EXI作为字符串发送?因为我已经建立了客户端和服务器之间的通信,但是他们只是发送字符串,我不知道我是否可以发送整个文件,在这种情况下,发送的数据量会有什么不同?
发布于 2013-02-01 18:25:40
最后我解决了这个问题,对于有同样问题的人,解决方案是:
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()方法之前,必须设置输出流。
https://stackoverflow.com/questions/14607062
复制相似问题