gpt4 book ai didi

java - Xmlpullparser 解析嵌套项目

转载 作者:行者123 更新时间:2023-12-01 04:45:44 25 4
gpt4 key购买 nike

我正在制作一个应用程序,它将通过 xml 访问 eBay api 来搜索项目。我已按照指南 Android developer guide XMLPullParser 进行操作使用 Pull 解析器,我能够很好地解析基本的 xml。但对于我的需要,pullparser 上没有足够的信息,因为我试图以链接和 pullparser 站点中都没有提到的格式访问项目。

产品项目位于项目数组中。当在返回第一个项目后尝试运行解析器时,解析器将移回项目数组级别,而不是循环每个项目。这会导致解析器运行整个 xml 并且只返回一项。经过几天的尝试,我所做的一切都无法阻止解析器返回到项目数组级别。

这是 XML 的结构

     <FindPopularItemsResponse>
<Timestamp>2013-04-08T18:30:44.139Z</Timestamp>
<Ack>Success</Ack>
<Build>E817_CORE_APILW2_15902151_R1</Build>
<Version>817</Version>
<ItemArray>
<ItemID>330624952975</ItemID><EndTime>2013-05-03T13:31:06.000Z</EndTime>
<ViewItemURLForNaturalSearch></ViewItemURLForNaturalSearch>
<ListingType>FixedPriceItem</ListingType><GalleryURL></GalleryURL>
<PrimaryCategoryID>73522</PrimaryCategoryID><PrimaryCategoryName>
</PrimaryCategoryName><BidCount>706</BidCount><ConvertedCurrentPrice
currencyID="USD">14.95</ConvertedCurrentPrice>
<ListingStatus>Active</ListingStatus><TimeLeft>P24DT19H22S</TimeLeft>
<Title> </Title>
</ItemArray>
</FindPopularItemsResponse>

谢谢

卢克

最佳答案

如果没有任何代码,这个问题实际上很难回答。

你的循环结构可能应该是这样的:

while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_TAG:
if (xpp.getName().compareTo("ItemID") == 0) { // new item found
// handle the whole item here if the format is static
}
// other stuff
break;
case XmlPullParser.END_TAG:
// TODO
break;
case XmlPullParser.TEXT:
// TODO
break;
}

关于java - Xmlpullparser 解析嵌套项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15887026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com