【发布时间】:2013-04-08 08:34:49
【问题描述】:
我有一个非常丑陋的APP,它从我的PC读取串口,连接到这个串口的设备将XML数据发送到这个APP......
我的应用程序将 XML 数据读取为字符串并在节点 <watts> 中查找变量,但设备有时会发送不同的 XML 数据(历史数据),而我的应用程序使用该信息崩溃,因为它找不到节点<watts>。
我只想检查节点是否存在并忽略不正确的数据。
数据来自串行端口到一个名为 XMLData 的字符串...
正确数据:
<msg>
<src>CC128-v1.34</src>
<dsb>00030</dsb>
<time>21:01:59</time>
<tmpr>18.4</tmpr>
<sensor>0</sensor>
<id>00077</id>
<type>1</type>
<ch1>
<watts>00366</watts>
</ch1>
</msg>
数据不正确:
<msg>
<src>CC128-v1.34</src>
<dsb>00030</dsb>
<time>21:02:00</time>
<hist>
<dsw>00030</dsw>
<type>1</type>
<units>kwhr</units>
<data>
<sensor>0</sensor>
<h650>0.856</h650>
<h648>1.418</h648>
<h646>0.765</h646>
<h644>0.742</h644>
</data>
<data>
<sensor>1</sensor>
<h650>0.000</h650>
<h648>0.000</h648>
<h646>0.000</h646>
<h644>0.000</h644>
</data>
<data>
<sensor>2</sensor>
<h650>0.000</h650>
<h648>0.000</h648>
<h646>0.000</h646>
<h644>0.000</h644>
</data>
</hist>
</msg>
【问题讨论】:
-
请解释你为什么投反对票