簡體   English   中英

xpath表達式失敗,檢查屬性值

[英]xpath expression fails with checking attribute value

我需要在group標簽中獲取每個operator_id標簽屬性@name ,其中@title屬性等於某個字符串,下面的示例無法執行此操作:

List list = doc.selectNodes("//root//menu//group[@title=" + menuTitle + "]//operator_id//@name");

XML結構:

  <group id="980" title="Переводы" image="" sh_n="1" enable="1" visible="0" image_bg="" type="">
  <operator_id id="10000047" name="Перевод физ лицу" image="individual.png" sh_n="1" enable="1" visible="1" /> 
  <operator_id id="10000048" name="Перевод юр лицу" image="organizations.png" sh_n="1" enable="1" visible="1" /> 
  <operator_id id="10000078" name="Перевод внутри банка" image="innerbank.png" sh_n="1" enable="1" visible="1" /> 
  <operator_id id="10000049" name="Налоговый платеж" image="taxes1.png" sh_n="1" enable="1" visible="1" /> 
  </group>

我究竟做錯了什么?

我無論如何都不是XPath專家,但我認為你不想在查詢中一直使用雙斜線。 你有沒有嘗試過:

List list = doc.selectNodes(
   "//root/menu/group[@title=" + menuTitle + "]/operator_id/@name");

甚至//在開始時也可以只是/如果它真的意味着是根元素。

另外,我懷疑你應該為這個值添加引用,例如

List list = doc.selectNodes(
   "//root/menu/group[@title='" + menuTitle + "']/operator_id/@name");

要么

List list = doc.selectNodes(
   "//root/menu/group[@title=\"" + menuTitle + "\"]/operator_id/@name");

那些更像是XPath規范中的示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM