我正在编写一个Android应用,其中包含RSS
个Feed,提取HTML
篇文章,处理文章HTML
仅存储重要内容(故事正文,包括段落和图片/图片标题等),将其显示给用户。
除了最后一步,我已经完成了所有事情。
文章显然会有不同的文字,不同的图像位置等等。我希望能够保留这些元素的顺序(就像提取时一样)。
实现此目的的最佳方法是什么?我真的不想使用WebView
...
提前致谢。
修改 请参阅我的解决方案的已接受答案的评论。
答案 0 :(得分: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因为我的意思是如何搜索substring(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=")
这些之后的子字符串将分别是图像的图像标题和源文件,而不是这些值将包含在'
或"
这不是一个完整的解决方案,但嘿,我已经看到你尝试了什么,所以它是一个起点