首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Qt中读取和使用PHP生成的XML

在Qt中读取和使用PHP生成的XML
EN

Stack Overflow用户
提问于 2010-10-08 07:52:22
回答 2查看 208关注 0票数 1

你好,我正在构建一个Qt应用程序,其中显示商店的产品。产品存储在MySQL数据库中,该数据库由php函数查询。PHP函数返回表内容的XML。所以,我已经找了一段时间了,但是我找不到一个优雅的解决方案来解决我的问题。我需要的是: 1.从函数(domain.com/blah.php)中获取XML。2.从XML中获取数据。那么,我可以像使用对象一样使用XML数据吗?数据示例如下:

代码语言:javascript
运行
复制
<categories> 
<category> 
    <ID>1</ID> 
    <Category_name>Hrana i pica</Category_name> 
    <Parent_ID>0</Parent_ID> 
</category> 
<category> 
    <ID>2</ID> 
    <Category_name>Kucne potrepstine</Category_name> 
    <Parent_ID>0</Parent_ID> 
</category> 
<category> 
    <ID>3</ID> 
    <Category_name>Ljepota i njega</Category_name> 
    <Parent_ID>0</Parent_ID> 
</category> 
<category> 
    <ID>4</ID> 
    <Category_name>Djecji svijet</Category_name> 
    <Parent_ID>0</Parent_ID> 
</category> 
<category> 
    <ID>5</ID> 
    <Category_name>Cvijece</Category_name> 
    <Parent_ID>0</Parent_ID> 
</category> 
<category> 
    <ID>6</ID> 
    <Category_name>Akcijska prodaja</Category_name> 
    <Parent_ID>0</Parent_ID> 
</category> 
<category> 
    <ID>7</ID> 
    <Category_name>Alkoholna pica</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>8</ID> 
    <Category_name>Bezalkoholna pica</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>9</ID> 
    <Category_name>Delikatesa specijal</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>10</ID> 
    <Category_name>Delikatese / mesne preradevine</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>11</ID> 
    <Category_name>Dijabetski i zdrava hrana</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>12</ID> 
    <Category_name>Dorucak</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>13</ID> 
    <Category_name>Mlijecni, jaja i sir</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>14</ID> 
    <Category_name>Namirnice za pripremu jela</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>15</ID> 
    <Category_name>Pekarski proizvodi</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>16</ID> 
    <Category_name>Slatkisi i grickalice</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>17</ID> 
    <Category_name>Smrznuto</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>18</ID> 
    <Category_name>Svjeza riba</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>19</ID> 
    <Category_name>Svjeze meso</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>20</ID> 
    <Category_name>Svjeze voce i povrce</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>21</ID> 
    <Category_name>Ukiseljena i konzerv. hrana</Category_name> 
    <Parent_ID>1</Parent_ID> 
</category> 
<category> 
    <ID>22</ID> 
    <Category_name>Elektro pribor i medija</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>23</ID> 
    <Category_name>Higijenski i papirnati proizvodi</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>24</ID> 
    <Category_name>Kiosk</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>25</ID> 
    <Category_name>Knjige za odrasle</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>26</ID> 
    <Category_name>Kucanske potrepstine</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>27</ID> 
    <Category_name>Kucni ljubimci</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>28</ID> 
    <Category_name>Party program</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>29</ID> 
    <Category_name>Posudje i oprema za dom</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>30</ID> 
    <Category_name>Sezonski asortiman</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>31</ID> 
    <Category_name>Sportska odjeca i oprema</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>32</ID> 
    <Category_name>Sredstva za pranje i ciscenje</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>33</ID> 
    <Category_name>Skolski i uredski asortiman</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>34</ID> 
    <Category_name>Tekstil i obuca</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>35</ID> 
    <Category_name>Ukrasi i prigodni program</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>36</ID> 
    <Category_name>Uradi sam</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>37</ID> 
    <Category_name>Vrt i kamp</Category_name> 
    <Parent_ID>2</Parent_ID> 
</category> 
<category> 
    <ID>38</ID> 
    <Category_name>Dekorativna kozmetika i parfemi</Category_name> 
    <Parent_ID>3</Parent_ID> 
</category> 
<category> 
    <ID>39</ID> 
    <Category_name>Muska kozmetika</Category_name> 
    <Parent_ID>3</Parent_ID> 
</category> 
<category> 
    <ID>40</ID> 
    <Category_name>Njega kose</Category_name> 
    <Parent_ID>3</Parent_ID> 
</category> 
<category> 
    <ID>41</ID> 
    <Category_name>Njega lica za zene</Category_name> 
    <Parent_ID>3</Parent_ID> 
</category> 
<category> 
    <ID>42</ID> 
    <Category_name>Njega tijela</Category_name> 
    <Parent_ID>3</Parent_ID> 
</category> 
<category> 
    <ID>43</ID> 
    <Category_name>Njega zubi</Category_name> 
    <Parent_ID>3</Parent_ID> 
</category> 
<category> 
    <ID>44</ID> 
    <Category_name>Djecja galanterija</Category_name> 
    <Parent_ID>4</Parent_ID> 
</category> 
<category> 
    <ID>45</ID> 
    <Category_name>Djecja hrana</Category_name> 
    <Parent_ID>4</Parent_ID> 
</category> 
<category> 
    <ID>46</ID> 
    <Category_name>Djecja kozmetika i higijena</Category_name> 
    <Parent_ID>4</Parent_ID> 
</category> 
<category> 
    <ID>47</ID> 
    <Category_name>Djecji svijet - ostalo</Category_name> 
    <Parent_ID>4</Parent_ID> 
</category> 
<category> 
    <ID>48</ID> 
    <Category_name>Igracke</Category_name> 
    <Parent_ID>4</Parent_ID> 
</category> 
<category> 
    <ID>49</ID> 
    <Category_name>Knjige za djecu</Category_name> 
    <Parent_ID>4</Parent_ID> 
</category> 
<category> 
    <ID>50</ID> 
    <Category_name>Tekstil odjevni za bebe</Category_name> 
    <Parent_ID>4</Parent_ID> 
</category> 
<category> 
    <ID>51</ID> 
    <Category_name>Trudnice i dojilje</Category_name> 
    <Parent_ID>4</Parent_ID> 
</category> 
<category> 
    <ID>52</ID> 
    <Category_name>Cvijece i bilje</Category_name> 
    <Parent_ID>5</Parent_ID> 
</category> 
<category> 
    <ID>53</ID> 
    <Category_name>Cvjecarski pribor</Category_name> 
    <Parent_ID>5</Parent_ID> 
</category> 
<category> 
    <ID>54</ID> 
    <Category_name>Zemlja</Category_name> 
    <Parent_ID>5</Parent_ID> 
</category> 
<category> 
    <ID>55</ID> 
    <Category_name>Proizvodi na akciji</Category_name> 
    <Parent_ID>6</Parent_ID> 
</category> 

因此,我希望能够做的是,例如,查询具有相同Parent_ID的所有类别。

有什么想法吗?(如果这是一个愚蠢的问题,我很抱歉,但我就是想不通)

EN

回答 2

Stack Overflow用户

发布于 2010-10-08 08:06:43

如何通过超文本传输协议下载文件:http://www.qtforum.org/article/29846/qhttp-problem-with-the-timeout.html

这里的基本要点是使用QUrlQHttp类。启动HTTP请求并连接到QHttp对象的done信号,以便在下载完成时对文件执行操作。

如何读取XML文件:http://www.qtforum.org/article/27624/how-to-read-a-xml-file.html

票数 1
EN

Stack Overflow用户

发布于 2010-10-08 08:08:30

您可以使用xpath表达式匹配XML中的节点:

代码语言:javascript
运行
复制
number(/category/Parent_ID)=1 # for Parent_ID of 1.

要在Qt中计算XPath表达式,请参见How do I run XPath queries in QT?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3886755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档