1
有沒有一種智能的方式來讀取android中的URL元標記的內容?我將在android的webview中顯示一個網頁,並希望從裏面的元標記中讀取一些信息。解析網頁字符串的唯一方法是找到特殊字符串「meta name =」x -...「content =」!!!「或者是否有更聰明的方法?如何在android上從網站上提取元標籤?
有沒有一種智能的方式來讀取android中的URL元標記的內容?我將在android的webview中顯示一個網頁,並希望從裏面的元標記中讀取一些信息。解析網頁字符串的唯一方法是找到特殊字符串「meta name =」x -...「content =」!!!「或者是否有更聰明的方法?如何在android上從網站上提取元標籤?
一個聰明的方法是使用Jericho Library
假設你有一個像這樣
<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>
例如一個html文件,以獲得與名稱meta標籤的值「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
」的值
您不應該分析字符串。相反,使用sax解析器或其他方式來讀取結構化數據並獲取相關的元素。 –
[Java中解析元標記]的可能重複(http://stackoverflow.com/questions/299334/parse-meta-tags-in-java) – jbaylina