使用xpath选择某些文本后的表格元素

时间:2017-01-05 12:29:47

标签: select xpath text

enter image description here

我是 if (jsonStr != null) { try { JSONObject object = new JSONObject(jsonStr); HashMap<String, String> dtail = new HashMap<>(); JSONArray jsonArray = object.getJSONArray("passengers"); for (int i = 0; i < jsonArray.length(); i++) { JSONObject o = jsonArray.getJSONObject(i); int no = Integer.parseInt(o.optString("no").toString()); String booking_status = o.getString("booking_status"); String current_status = o.getString("current_status"); String coach_position = o.getString("coach_position"); dtail.put("no", String.valueOf(no)); dtail.put("Booking Staus", booking_status); dtail.put("Current Staus", current_status); dtail.put("Coach Positon", coach_position); } String train_name = object.getString("train_name"); int train_num = Integer.parseInt(object.optString("train_num").toString()); int pnr = Integer.parseInt(object.optString("pnr").toString()); String chart_prepared = object.getString("chart_prepared"); int total_passengers = Integer.parseInt(object.optString("total_passengers").toString()); JSONObject date = object.getJSONObject("train_start_date"); int month = Integer.parseInt(date.optString("month").toString()); int year = Integer.parseInt(date.optString("year").toString()); int day = Integer.parseInt(date.optString("day").toString()); JSONObject co = object.getJSONObject("from_station"); String code = co.getString("code"); String name = co.getString("name"); JSONObject co1 = object.getJSONObject("boarding_point"); String code1 = co1.getString("code"); String name1 = co1.getString("name"); JSONObject co2 = object.getJSONObject("to_station"); String code2 = co2.getString("code"); String name2 = co2.getString("name"); JSONObject co3 = object.getJSONObject("reservation_upto"); String code3 = co3.getString("code"); String name3 = co3.getString("name"); dtail.put("Train Name", train_name); dtail.put("Train Number", String.valueOf(train_num)); dtail.put("pnr", String.valueOf(pnr)); dtail.put("chart prepared", chart_prepared); dtail.put("total passengers", String.valueOf(total_passengers)); dtail.put("month", String.valueOf(month)); dtail.put("year", String.valueOf(year)); dtail.put("day", String.valueOf(day)); dtail.put("code", code); dtail.put("name", name); dtail.put("code", code1); dtail.put("name", name1); dtail.put("code", code2); dtail.put("name", name2); dtail.put("code", code3); dtail.put("name", name3); dataList.add(dtail); } catch (final JSONException e) { Log.e("Json", "Json parsing error: " + e.getMessage()); runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(getApplicationContext(), "Json parsing error: " + e.getMessage(), Toast.LENGTH_LONG).show(); } }); } 的新手,我一直在努力寻找一种方法来在具有特定文本的节点之后选择文本。在这种情况下,我需要在XPath之后选择td th文本。 我尝试过这样的事情:

'Position Title'

但它不起作用。 我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的XPath打算搜索td th的直接或间接孩子,但实际上您需要匹配td,这是th的兄弟}

试试这个:

//th[text()='Position Title']/following-sibling::td