【问题标题】:I want to extract data between html tag from web site in android.?我想从android中的网站中提取html标签之间的数据。?
【发布时间】:2016-09-23 03:58:16
【问题描述】:

如何从android中的网站中提取span标签之间的数据?我正在尝试使用 php 和 android 但没有得到结果你能帮我解决这个问题吗? 请在下面找到我们要从中提取突出显示的数据的代码。

Número<br /></span><span class="linha">**3943**</span></td><td valign="top" height="30" width="25%"><span class="TextoFundoBrancoNegrito">
Série<br /></span><span class="linha">**0**</span></td><td valign="top" height="30" width="25%"><span class="TextoFundoBrancoNegrito">
Data de emissão<br /></span><span class="linha">**26/08/2013**</span></td></tr></table><table align="center" width="98%"><tr><td class="TituloAreaRestrita">

我想将数据“3943”、“0”、“26/08/2013”​​存储在String

【问题讨论】:

  • 你使用jsoup解析html标签

标签: php android


【解决方案1】:

您可以使用 Regular Expressions 从 HTML 中提取数据。

使用以下代码提取跨度标签之间的数据:

String value = regexMatch(HTML, "&lt;span class=\"linha\"&gt;(.+?)&lt;/span&gt;");

函数如下:

public static String regexMatch(String source, String compilePattern) {
    // Compile regex pattern
    Pattern regexPattern = pattern.compile(compilePattern);

    // Create a matcher against input
    Matcher regexMatcher = regexPattern.matcher(source);

    // Find first match
    if (regexMatcher.find()) {
        // Return first group
        return RegexMatcher.group(1);
    }

    // Return empty string if no match
    return "";
}

【讨论】:

    【解决方案2】:

    您正在使用字符串解析器或子字符串方法...这对于任何开发人员来说都是相当标准的。您目前使用的是什么代码?

    基本上,您将整个 html 数据加载到单个字符串中,然后将其剥离为您需要的内容。这可以通过将字符串拆分为数组或其他方式的拆分方法来完成...这个主题已经被多次讨论过...

    【讨论】:

    • 我只是在寻找该问题的解决方案,现在我没有使用任何解决方案。
    • 谷歌 java 子字符串和字符串拆分方法
    • 正如 Elad 所回答的,使用 Reg Expressions 之类的东西会做同样的事情。基本上你想要做的就是把你的字符串分成你需要使用的段。从逻辑上讲,您正在尝试做.. FIND/LOOP 每个“ 字符..这将为您提供价值的起点。然后你会找到下一个“”,它会给你一个价值的终点。之后,您将使用修剪来删除任何空格/填充。因此,您为每个“”并从那里开始,直到找到“”并完成。
    • 推荐使用正则表达式,但并不适用于所有用户。
    猜你喜欢
    • 2015-09-26
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多