㈠ 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);