如何在HTML中检索某个字段值

时间:2015-08-24 09:58:40

标签: javascript java html

我对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:”相关联的值,那么我该如何实现呢?

3 个答案:

答案 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];