㈠ java jsoup Elements方法查看href里是否有想要的值
這樣就可以啦!!!
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Teste {
public static void main(String[] args) {
try {
Document doc = Jsoup.connect("http://news.sina.com.cn/")
.userAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.15)")
.timeout(5000).get();
Elements hrefs = doc.select("a[href]");
for(Element elem:hrefs){
System.out.println(elem.attr("abs:href"));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
㈡ jsoup中element類有操作css的方法嗎
$(".box").css({
"border":"1pxsolid#ccc",
"width":"100px"
});
㈢ 有這么一個文檔結構,jsoup怎麼取得這個element
獲得文檔結構圖的文本內容的具體操作步驟是:點擊主菜單上的「插入」-「引用」--索引和目錄--目錄--指定顯示級別--確定,就會生成文檔結構圖中的內容
㈣ jsoup解析html時,若沒有查找到相關標簽,Element元素的返回值如何判斷為空
Elementele=doc.getElementById("id");//當根據id取單個元素的時候
if(ele==null){
System.out.println("沒有此元素")
}Elementseles=doc.getElementsByClass("name");//當根據name之類,取多個元素的時候
if(eles.isEmpty()){//eles類似於版集合,所以用權isEmpty來判斷
System.out.println("沒有class為name的元素集合")
}
㈤ Java jsoup 取得html中的table里的內容
importorg.jsoup.Jsoup;
importorg.jsoup.nodes.Document;
importorg.jsoup.select.Elements;
publicclassTest{
publicstaticvoidmain(String[]args){
Stringstr="<table><tr><td>user</td><td>cc</td></tr><tr><td>pass</td><td>123</td></tr></table>";
Documentdoc=Jsoup.parse(str);
Elementstrs=doc.select("table").select("tr");
for(inti=0;i<trs.size();i++){
Elementstds=trs.get(i).select("td");
for(intj=0;j<tds.size();j++){
Stringtext=tds.get(j).text();
System.out.println(text);
}
}
}
}
運行結果 :
user
cc
pass
123
㈥ JAVA中 org.jsoup.select.Elements cannot be cast to javax.lang.model.util.Elements 是什麼原因
很明抄顯 導入類的時襲候寫錯了本來應該是一個org.jsoup.select.Elements 但是import的卻是javax.lang.model.util.Elements
檢查下看看那個類引用了Elements 把javax.lang.model.util.Elements換成org.jsoup.select.Elements
㈦ 用jsoup解析網頁,取到class標簽內容後
總結一下Jsoup提供的方法:
獲取元素的有:
getElementById(String id)
getElementsByTag(String tag)
getElementsByClass(String className)
getElementsByAttribute(String key)
siblingElements(), firstElementSibling(), lastElementSibling(); nextElementSibling(), previousElementSibling()
parent(), children(), child(int index)
獲取元素數據:
attr(String key) 獲取屬性
attr(String key, String value) 設置屬性
attributes() 獲取所有屬性
id(), className() and classNames()
text() 獲取文字內容
text(String value) 設置文字內容
html() 獲取html內容
html(String value) 設置html內容
outerHtml()
data() 獲取類似script,style的數據內容
tag() and tagName()
操作HTML內容:
append(String html), prepend(String html)
appendText(String text), prependText(String text)
appendElement(String tagName), prependElement(String tagName)
html(String value)
㈧ java Element類的用法
此類是用來構建xml中節點的。方法舉例:
//構建 XML Document 報文
private String createLoginXML( String serialNo, String reqTime, String userID, String userPWD){
retStr = null;
Document reqData = null;
try{
DocumentBuilderFactory docFac = DocumentBuilderFactory.newInstance();//創建xml實例
DocumentBuilder docB = docFac.newDocumentBuilder();
reqData = docB.newDocument();
//設置 XML 文件版本為 1.0
reqData.setXmlVersion("1.0");
//創建節點node
Node n_root = reqData.createElement("BCCBEBankData");
Node n_opReq = reqData.createElement("opReq");
Node n_opName = reqData.createElement("opName");
n_opName.appendChild(reqData.createTextNode("CebankUserLogonOp"));
Node n_serialNo = reqData.createElement("serialNo");
n_serialNo.appendChild(reqData.createTextNode(serialNo));
Node n_reqTime = reqData.createElement("reqTime");
n_reqTime.appendChild(reqData.createTextNode("20110323"));
Node n_ReqParam = reqData.createElement("ReqParam");
Node n_userID = reqData.createElement("userID");
n_userID.appendChild(reqData.createTextNode(userID));
Node n_userPWD = reqData.createElement("userPWD");
n_userPWD.appendChild(reqData.createTextNode(userPWD));
//連接節點
reqData.appendChild(n_root);
n_opReq.appendChild(n_opName);
n_opReq.appendChild(n_serialNo);
n_opReq.appendChild(n_reqTime);
n_ReqParam.appendChild(n_userID);
n_ReqParam.appendChild(n_userPWD);
n_root.appendChild(n_opReq);
n_opReq.appendChild(n_ReqParam);
retStr = XMLDoc2Str(reqData);
retStr = retStr.replace(" standalone=\"no\"", "");
System.out.println(retStr);
}catch(Exception ex)
{
ex.printStackTrace();
System.out.println("創建 <登錄 XML 報文> 失敗");
return null;
}
//返回報文
return retStr;
}
備註:構建的思路就是先創建root節點,之後依次創建子節點,之後給子節點進行元素賦值。
㈨ jsoup在怎麼獲取特定的子節點
使用Jsoup解析html中的指定數據,十分方便。Jsoup工具十分強大,十分好用。但網上似乎沒有很好的例子,本文的目的即在於此。建議仔細閱讀代碼中的幾個例子,Jsoup解析數據不外乎這幾種類型。
第一步:將Jsoup JAR包導入項目
第二步:使用Jsoup API
1, 定位
通過div的屬性值,定位到html的div(塊),即所需要內容對應的塊。
示例代碼如下:
<div class="content">
2, 篩選數據
a, 通過標簽頭,在div中繼續篩選數據。可能會找到很多的數據,這里會用到循環。見eg1。
//eg1:解析網路音樂 Document doc = Jsoup.connect("http://list.mp3..com/top/singer/A.html").get(); Element singerListDiv = doc.getElementsByAttributeValue("class", "content").first(); Elements links = singerListDiv.getElementsByTag("a"); for (Element link: links) {
㈩ jsoup 獲取Element中非Element部分值
varp=document.getElementsByTagName("p")[0];//獲取節點
alert(p.getElementsByTagName("strong")[0].innerText);//strong節點內容
varp1=p.cloneNode(true); //克隆節點,避免後續操作影響頁面
//刪除所有子節版點
for(vari=p1.children.length-1;i>=0;i--){
權p1.removeChild(p1.children[0]);
};
alert(p1.innerText);