1

我正在编写一个 Android 应用程序,它可以读取RSS提要、获取HTML文章、处理文章HTML以仅存储重要内容(故事正文,包括段落和图像/图像标题等),并将其显示给用户

除了最后一步,我什么都做了。

这些文章显然会有不同的文本、不同的图像位置等,我希望能够保留这些元素的顺序(就像它们在获取时一样)。

实现这一点的最佳方法是什么?我真的不想用WebView...

提前致谢。

编辑 请查看我的解决方案接受的答案的评论。

4

1 回答 1

1

我能看到做这样的事情的最好方法是转义每个 html 标签并适当地处理每个标签。假设您对 head 元素和元数据不感兴趣,您可以为以下 html 页面执行类似下面的伪代码

<html>  
...
<head>
...
</head>
<body>
<h1> some text probably your title </h1>
<p1> first paragraph </p1>
<p2> second paragraph </p2>
<img src='/some_url' title='some_title'>
</body> 
</html>

现在,对于您需要做的事情,还请注意,html 页面的实际设置方式将取决于网页/rss 提要,因此可能需要对许多站点进行修改,但您仍想做这样的事情:不是当我说 llok 时,我的意思是一些如何搜索子字符串(如果在设备上,则为 java)任何你希望从设备上下来的东西

  find("<body>") everything before can be thrown away
  find ("<img" or "<p1" or "<h1" or "<div") handle accordingly 

(这很可能会在页面来源上发生变化)

     but for say <p1 found 

     find (">") represents end of tag attribute pull all of this until delimiter tag "</p1>" 

你有你的第一段图像标签

    ie. find("<img")
    then find("title=") or find("src=") 

这些之后的子字符串将分别是图像的图像标题和源文件,而不是这些值将被包装在其中之一'"

这不是一个完整的解决方案,但是嘿,我已经看到了您的尝试,因此这是一个起点

于 2013-03-27T21:59:44.363 回答