将XMLstring编码为EXI并通过websocket发送
首先,我使用的是客户端 – 服务器体系结构,android为客户端,node.js为服务器,它们通过Socket.io库连接,因此它们使用的是websocket。
我怀疑的是,我正在用Java的XMLSerializer生成XMLstring,我想将它编码为EXI并将其发送到服务器,因此,是否可以在不使用文件的情况下编码XML-EXI? 直接从string到string? 因为我看到的所有例子都假设我的XML是在一个文件中,而我想把输出转换成另一个文件。 另一个疑问是,我可以把EXI作为string吗? 因为我已经build立了客户端和服务器之间的通信,但是他们只是发送string,我不知道如果我能发送整个文件,在这种情况下,会有任何不同的数据发送量?
最后我解决了这个问题,对于有同样问题的人,解决办法是:
String input = methodGivingXMLString(); byte inputBytes[] = input.getBytes(); ByteArrayInputStream in = new ByteArrayInputStream(inputBytes); transmogrifier.encode(new InputSource(in));
对于input和输出:
ByteArrayOutputStream result = new ByteArrayOutputStream(); transmogrifier.setOutputStream(result);
注1:我正在使用OpenExi库
注2:在调用encode()方法之前,必须设置输出stream。
- IBM Bluemix:从Android发出POST请求,以及如何在NodeJS中处理它
- react-native run-android无法识别
- Android的tcp套接字设置etimedout值
- IOAcknowledge方法不适用于Android的SocketIO?
- PANIC:找不到AVD系统path。 请定义ANDROID_SDK_ROOT
- React-native构build错误:执行任务失败:react-native-maps:prepareComAndroidSupportAppcompatV72301Library'。 >无法展开ZIP
- Android应用程序使用Socket.io连接到Node.js服务器
- 从响应中获取单独的JSON
- 将nodejs项目导入到Eclipse中