嗨,我的第一篇文章就在这里我正在编写它,因为我经历了google在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,网页上还有其他类似内容。我已经准备好java类填充来自li lements的数据。一个cl对象为一个li元素。我需要提取描述,价格,材料,图像链接,来自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请求帮助,我无望;(;(;(
答案 0 :(得分:0)
String classType =liElements.getAttributeByName("class");
if(classType!=null && classType.equals("genre........");
liElements[i]