TT_*_*_KZ 3 java android htmlcleaner
尝试获取元素“a”和“span”的值。使用 HTMLCleaner。
\n\n<div class="info">\n <p class="name">\n <a href="http://www.zxdv.com/level/1/film/616/sr/1/">Tron</a> \n <span class="year">2001</span>\n </p>\n</div>\nRun Code Online (Sandbox Code Playgroud)\n\n这是代码:
\n\nTagNode linkElements[] = rootNode.getElementsByName("div", true);\nint s=0;\nfor (int i = 0; linkElements != null && i < linkElements.length; i++)\n{\n if (linkElements[i].getAttributes().toString().equals("{class=info}")) {\n TagNode linkElements2[] = linkElements[i].getElementsByName("p", true);\n for (int i2 = 0; linkElements2 != null && i2 < linkElements2.length; i2++)\n {\n TagNode linkElements3[] = linkElements2[i2].getElementsByName("a", true);\n TagNode linkElements4[] = linkElements2[i2].getElementsByName("span", true);\n for (int i3 = 0; linkElements3 != null && i3 < linkElements3.length; i3++)\n {\n if (s <= 20) {\n String currentlink = linkElements3[i3].getText().toString();\n String currentlink2 = linkElements4[i3].getText().toString();\n slink[s] = currentlink+"\\n"+currentlink2;\n s++;\n } \n } \n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n据我了解,首先采用“div”元素,然后是他的子元素“p”,但是当我计算“a”和“span”元素值时,返回空\xd1\x8e\n请提示我在哪里出错。谢谢
\n使用 XPath 来减少工作量
TagNode root = htmlCleaner.clean(url);
// Xpath to 'a'
Object[] foundList = root.evaluateXPath("//div/p[@class='name']/a");
if(foundList == null || foundList.length < 1) {
return;
}
TagNode aNode = (TagNode)foundList[0];
String aNodeTextContent = aNode.getText();
// Xpath to 'span'
foundList = root.evaluateXPath("//div/p[@class='name']/span");
if(foundList == null || foundList.length < 1) {
return;
}
TagNode spanNode = (TagNode)foundList[0];
String spanNodeTextContent = spanNode.getText();
Run Code Online (Sandbox Code Playgroud)