首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >xpath表达式检查属性值失败

xpath表达式检查属性值失败
EN

Stack Overflow用户
提问于 2012-04-12 11:40:05
回答 1查看 258关注 0票数 0

我需要获取每个operator_id标记属性@name标记中的@title属性等于一些字符串,下面的示例无法做到这一点:

代码语言:javascript
复制
List list = doc.selectNodes("//root//menu//group[@title=" + menuTitle + "]//operator_id//@name");

XML结构:

代码语言:javascript
复制
  <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>

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-12 11:42:33

无论如何,我不是XPath专家,但我认为您不想在查询过程中一直使用双斜杠。你试过:

代码语言:javascript
复制
List list = doc.selectNodes(
   "//root/menu/group[@title=" + menuTitle + "]/operator_id/@name");

?即使最初的//也可以是/,如果它确实是根元素的话。

此外,我怀疑你应该增加报价的价值。

代码语言:javascript
复制
List list = doc.selectNodes(
   "//root/menu/group[@title='" + menuTitle + "']/operator_id/@name");

代码语言:javascript
复制
List list = doc.selectNodes(
   "//root/menu/group[@title=\"" + menuTitle + "\"]/operator_id/@name");

这些更像XPath规范中的示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10122811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档