2

考虑一下我得到了以下 XML 吗?

<result>
    <_id>-3:1</_id>
    <_ver>0</_ver>
    <_class>Address</_class>
    <type>Residence</type>
    <street>Piazza di Spagna</street>
    <city>-4:0</city>
</result>

查询以下各项的 xpath 是什么:

  1. 对于所有不以“_”开头的标签。所以我会期待这样的东西:类型,街道,城市
  2. 所有不以“_”开头的标签的文本正文。所以我会期待这样的东西:住宅,西班牙广场,-4:0
4

2 回答 2

2

使用 XPath 2.0 或 XQuery 1.0,您可以使用

  1. /result/*/local-name(.)[not(starts-with(., '_'))]
  2. /result/*[not(starts-with(local-name(), '_'))]/string(.)
于 2012-05-06T15:53:40.817 回答
2

使用 XPath 1.0(当然,这也是 XPath 2.0 解决方案):

  1. /*/*[not(starts-with(name(), '_'))]

  2. /*/*[not(starts-with(name(), '_'))]/text()

于 2012-05-06T16:11:03.727 回答