RT,接受xml然后转换成字符串,但是有时候,由于发送速度和网络传输速度影响,可能一次会接受几个完整的xml,但是还是要解析转换成的str,一个办法就是根据跟节点来讲这个解析出来的str分成几个完整的xml,然后添加入队列维护,从而解决了上述问题。不知道还有没有什么更好的常用的办法。?socketxml网络
解决方案 »
- dom4j 解析xml文档 求代码,看下面格式、很多数据。只贴了2条
- 为什么在Linux环境下的eclipse中swing代码移到myeclipse中生成的页面就乱码
- 向ArrayList 中添加 自定义类对象 报空指针异常
- 使用Struts+Hibernate遇到了个问题请知道的指点下(回答就给分)
- 怎么把SQL表中的数据读取并存在一个二维数组中,输出
- replaceAll()正则表达式
- 救命吖,(JavaMail问题)javax.mail.internet.ParseException: Unbalanced quoted string
- Boolean类里的getBoolean()方法问题。
- 如何给JTabbedPane加上动作事件?
- 数组赋值异常的问题
- 求助如何用jfreechart画出横纵坐标都是日期的xy图?
- 求助:一道数据结构与算法的面试机试题
比如
0ff0(结构开始符号)
xxxx(xml字节长度,例子是一个字节,如果不够长,可定义多个)
yyyy(开始传递xml数据)
yyyy
......
zzzz(校验部分,这里写校验信息)
f00f(结构结束)这种数据传递结构,常常在串口使用,想来socket也很好用吧
每一对0ff0和f00f之间是一个xml
记得如果是串口的话,最好去看下海明距离啥的。socket。。个人觉得应该可以随意定
一边传输一边parse:如果看到<tag>,就放进栈,如果看到</tag>,就出栈,当你的栈空了,你就知道一个完整的xml出现了
假设你收到了个xml长成这样:
<root>
<!-- <root> ... </root> -->
</root>
如果不做进一步的解析,直接用字符串split,会错的
假设你收到了个xml长成这样:
<root>
<!-- <root> ... </root> -->
</root>
如果不做进一步的解析,直接用字符串split,会错的
所以说就需要自己定义一套xml规范啊,保证跟元素的唯一性和不会由于解析规则而出现错误解析。不过,你说的这个方法也是确实可行的,也更加的健壮。
首先,希望你用到的堆栈要足够大;
其次,读到<!-- 要读到其真正对应的-->(如果字符串里有多个-->,你得想办法知道哪个是最后的,或许换行符是个好办法;