我正在学习软件开发和Android,现在我有一个项目,我必须从HTML获取数据并将其显示在我的应用程序中。
使用的html看起来或多或少是这样的:
< PR >This paragraph contains a < B >bold < /B > word< /PR >.
我需要将字符串提取为“此段落包含粗体字。”
我已尝试//p, /html/body/p, //p[@*]
等等。
该段落也没有div
或id
供我使用//div/p
。
我是新手,我已经在第二年完成了XPath,但只是短暂的。
一个工作示例是//div[@id:blog-stats-2]/ul/li/
我必须获取当前视图
来自一个有用的博客网站。
我真的需要帮助。如果能让我的问题更清楚,我会告诉你我的代码。
提前致谢。
得到答案
HtmlCleaner cleaner = new HtmlCleaner();
URL url = new URL(option_url);
URLConnection conn = url.openConnection();
TagNode node = cleaner.clean(new InputStreamReader(conn.getInputStream()));
Object[] info_nodes = node.evaluateXPath("//P");
if (info_nodes.length > 0)
{
for (int x = 0; x < info_nodes.length; x++)
{
TagNode info_node = (TagNode) info_nodes[x];
String name = info_node.getText().toString();
Log.d("P NODES",name);
}
}
现在我要把它保存在一个阵列中!!!!!!!!
答案 0 :(得分:0)
如果表达式EXP
选择了您感兴趣的段落,那么string(EXP)
将返回段落的字符串值,这就是您所追求的段落。
您还没有真正提供任何关于EXP可能是什么的线索,也就是说,您希望如何区分此段落与文档中的所有其他段落。