0

我正在学习软件开发并做 Android,现在我有一个项目,我必须从 HTML 中获取数据并将其显示在我的应用程序中。

我正在使用的 html 看起来或多或少像这样:

< PR >This paragraph contains a < B >bold < /B > word< /PR >.

我需要将字符串提取为“本段包含一个粗体字”。

我试过//p, /html/body/p, //p[@*]了,还有更多。

该段落也没有divorid供我使用//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);
                }
            }

现在我只是要把它保存在一个数组中!!!!!!!!!

4

2 回答 2

0

如果表达式EXP选择了您感兴趣的段落,则string(EXP)返回该段落的字符串值,这就是您所追求的。

您还没有真正提供任何关于 EXP 可能是什么的线索,也就是说,您希望如何将此段落与文档中的所有其他段落区分开来。

于 2013-08-15T07:58:43.120 回答
0

尝试使用轴 xpath,例如: //p/descendant-or-self::text()

于 2022-01-09T02:57:38.570 回答