上篇文章链接:搜索输入提示Demo(二)QT-UI布置、构建请求URL、槽函数与QT网络访问
1.QT XML解析
在能够通过正确的URL请求来获取高德地图的XML返回数据的前提下,我们使用QT的 QXmlStreamReader进行XML解析,获取我们正在需要的数据。当然QT有其他的XML解析方式:Qt中三种解析xml的方式 ,可酌情选用。
在编写XML解析代码前、我们需要先分析下XML获取数据格式,下图是我输入”南方“后获取的XML的一部分数据。
<?xml version='1.0' encoding='UTF-8'?>
......
<tips type="list">
<tip>
<id>B00140VAW2</id>
<name>南方医院</name>
<district>广东省广州市白云区</district>
<adcode>440111</adcode>
<location>113.328605,23.187610</location>
<address>广州大道北1838号</address>
<typecode>090101</typecode>
<city/>
</tip>
<tip>
<id>B0HDFAH6CT</id>
<name>南方医院白云分院</name>
<district>广东省广州市白云区</district>
<adcode>440111</adcode>
<location>113.272937,23.212144</location>
<address>黄石街元下底路23号</address>
<typecode>090100</typecode>
<city/>
</tip>
</tips>
</response>
可以看到我们需要从<tip>..</tip>标签下获取数据,我们就以<name><address>做为目的数据,编写代码。
首先我们需要创建一个类或者结构体保存这些信息。
class Tip {
public:
Tip(QS