我对HTML不是很熟悉,我不太清楚如何操作它,我的内容如下:
<td class="FieldName">Ingredients:</td><td>Biotin
- 0.25mg, Calcium (phosphate, pantothenate) - 100mg, Copper (sulfate) -
1mg, Dexpanthenol - 10mg, Folic acid - 1mg, Iron (carbonate, sulfate,
elemental) - 10mg, Magnesium (phosphate, stearate, oxide) - 5mg,
Manganese (sulfate) - 0.5mg, Molybdenum (molybdate) - 0.1mg,
Nicotinamide - 50mg, Phosphorus (phosphate - 84mg, Vitamin A - 3333IU,
Vitamin B1 - 20mg, Vitamin B2 - 5mg, Vitamin B6 - 10mg, Vitamin C -
150mg , Vitamin D2 - 1000IU, Vitamin E, - 10mg, Vitamine B12 - 5mcg,
Zinc (sulfate) - 0.5mg</td>
我想检索与“Ingredients:”相关联的值,那么我该如何实现呢?
答案 0 :(得分:0)
您需要使用jsoup库
public void getData() throws IOException {
Document doc = Jsoup.parse(new File("path/to/html/file"), "UTF-8"); //You can parse a url also instead of file
String text = "";
Elements e = doc.select("td.FieldName + td");
for (Element temp : e) {
text = temp.text();
System.out.println(text);
}
}
答案 1 :(得分:0)
您可以使用XPath在html中检索信息。 XPath是(也许)javascript语言,它在HTML中获取对象,之后您可以读/写数据。 您只需使用浏览器控制台即可尝试(在Chrome [CTRL + F12]或[右键单击页面 - &gt;检查元素 - >控制台选项卡])。
你可以在这里学到很多东西(这是语法部分,你可以浏览这个部分): http://www.w3schools.com/xsl/xpath_syntax.asp
如果你想在你的页面中尝试,请尝试:&#34; $ x(&#34; // td [@class =&#39; FieldName&#39;] / text()&#34; );&#34;
快速参考:
$ X(&#34;&#34); :: Chrome和FF支持执行xPaths的方法(您可以在线找到编程语言的正确方法);
// ::表示&#34;在页面或您所在的孩子中搜索&#34;;
td :: Means&#34;返回所有td标签&#34 ;;
[@ class =&#39; FieldName&#39;] :: Means&#34;按类过滤&#34; (你也可以通过id,name等来过滤);
/ ::意味着&#34;进入对象并做其他事情。&#34; (在这种情况下,我会检索文本,但你可以更深入地了解结构,例如&#34; / td / div / td [@class ...] / td等等&#34;);
text()::检索文本;
希望这有帮助, 安德烈。
答案 2 :(得分:0)
使用以下代码: -
var maintd = document.getElementsByClassName("FieldName");
var childtd = maintd.getElementsByTagName('td')[0];