嗨,这是我在这里的第一篇文章,我写它是因为我浏览了谷歌知道的关于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>
以上是一个列表项,网页上还有其他类似的列表项。我有一个java类准备用来自li元素的数据填充它。一个类对象对应一个li元素。我需要提取的描述,价格,材料,图像链接,从超类的东西,意思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请请帮助,我绝望了;(;(;(
String classType =liElements.getAttributeByName("class");
if(classType!=null && classType.equals("genre........");
liElements[i]