如何从android上的网站中提取元标记?

时间:2013-04-12 07:41:36

标签: android html meta-tags

有没有一种智能方法从android中的URL读取元标记的内容?我将在android上的webview中显示一个网页,并希望从内部的元标记中读取一些信息。是解析网页字符串以找到特殊字符串“meta name =”x -...“content =”!!!“的唯一方法,还是有更聪明的方法?

1 个答案:

答案 0 :(得分:1)

聪明的方法是使用Jericho Library

假设您有一个像这样的HTML文件

<html xmlns="http://www.w3.org/1999/xhtml" debug="true">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252"/>
<link href="styleUrgente.css" rel="stylesheet" type="text/css"/>
<meta name="viewport" content="width = 320, initial-scale = 1.0, user-scalable = no"/>
<meta name="joc-height" value="120"/>
<meta name="joc-enabled" value="1"/>
</head>
<body margin="0" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<script src="chrome-extension://bmagokdooijbeehmkpknfglimnifench/googleChrome.js"/>
</html>

例如,要获取名为“joc-height”的元标记的值,您可以使用此方法:

public String extractAllText(String htmlText){
        Source source = new Source(htmlText);   
        String strData = "";        
        List<Element> elements = source.getAllElements("meta");

        for(Element element : elements )
        {
            final String id = element.getAttributeValue("name"); // Get Attribute 'id'
             if( id != null && id.equals("joc-height")){
                 strData = element.getAttributeValue("value").toString();    
                   }
        }
        return strData;
    }

您将获得“120

的值