【发布时间】:2011-11-16 08:26:24
【问题描述】:
嗨,这是我在这里的第一篇文章,我正在写它,因为我浏览了谷歌在 htmlcleaner 上知道的每个示例......我无法让我的项目运行;(我正在尝试制作一个 Android 应用程序来获取和显示来自 flash 丰富的数据网页。这个想法是只获取最重要的数据,这样用户就不会浪费时间、金钱处理能力、试图在智能手机上浏览这些页面的神经……它是一个特定于国家/地区的网页……因此是特定于国家/地区的应用程序。我要解析的页面就是这部分
<li class="genre-3 genre-7 genre-9 mi-37 ">
<a href="http://some_link.co"; class="image"><img src="picture.jpg" alt="altTitle"></a>
<div class="superClass">
<a> aaa </a>
<a href="http://some_link_2.co"> bbb </a>
<a href="http://some_link_3.co"> ccc </a>
<a href="http://some_link_4.co"> ddd </a>
<a href="http://some_link_5.co"> eee </a>
</div>
<h2><a href="http://some_other_link" class="title">title_of_super_product</a></h2>
<ul class="icons tooltip-enabled">
<li class="before"></li>
<li><img src="15_2.png" alt="15_2"></li>
</ul>
<div> </div>
<span class="material">some_material</span>
<span class="price">0.1USD</span>
<p class="text"> Some description </p>
<a class="button-more" href="http://link_to_more_info"></a>
</li>
以上是一个ListItem,网页上还有其他类似的。我已经准备好用来自 li ments 的数据填充它的 java 类。一个 li 元素的一个 clss 对象。我需要从 superClass 中提取描述、价格、材料、图片链接、东西,意思是 aaa、bbb、ccc、ddd 等......最大的问题是如何做到这一点?我认为,如果我从创建一个由 li 元素组成的数组开始,我将能够进一步搜索它们中的每一个以查找我需要的子元素......但它不起作用;(
TagNode[] liElements = rootNode.getElementsByName("li", true);
for (int i=0; liElements != null && i < liElements.length; i++) {
if(liElements.getAttributeByName("class").contains("genre"))
Log.d("li",liElements.getAttributeByName("class")); }
只给出第一个 li 元素,然后它会在控制台中发送 nullPointerExceptions 请帮助,我绝望了 ;(;(;(
【问题讨论】:
-
切换到更好的 waaaaaaaaaaaaaay ^_^
标签: android html-parsing htmlcleaner