1

我必须解析一个html页面。我必须在下面分配给 javascript 函数的 html 中提取 name 元素的值。我如何使用 JSoup 来做到这一点。

<input type="hidden" name="fields.DEPTID.value"/>

JS:

departmentId.onChange = function(value) {                                       
    var departmentId = dijit.byId("departmentId");

    if (value == null || value == "") {
        document.transferForm.elements["fields.DEPTID.value"].value = "";
        document.transferForm.elements["fields.DEPTID_DESC.value"].value = "";
    } else {
        document.transferForm.elements["fields.DEPTID.value"].value = value;
        document.transferForm.elements["fields.DEPTID_DESC.value"].value = departmentId.getDisplayedValue();

        var locationID = departmentId.store.getValue(departmentId.item, "loctID");
        var locationDesc = departmentId.store.getValue(departmentId.item, "loct");

        locationComboBox = dijit.byId("locationId");

        if (locationComboBox != null) {
            if (locationID != "") {
                setLocationComboBox(locationID, locationDesc);
            } else {
                setLocationComboBox("AMFL", "AMFL - AMY FLORIDA");
            }
        }
    }
};
4

1 回答 1

0

I'll try to teach you form the top:

//Connect to the url, and get its source html
Document doc = Jsoup.connect("url").get();

//Get ALL the elements in the page that meet the query
//you passed as parameter. 
//I'm querying for all the script tags that have the
//name attribute inside it
Elements elems = doc.select("script[name]");

//That Elements variable is a collection of
//Element. So now, you'll loop through it, and
//get all the stuff you're looking for
for (Element elem : elems) {
    String name = elem.attr("name");

    //Now you have the name attribute
    //Use it to whatever you need.
}

Now if you want some help with the Jsoup querys to get any other elements you might want, here you go the API documentation to help: Jsoup selector API

Hope that helped =)

于 2012-07-24T20:58:19.057 回答