代码之家  ›  专栏  ›  技术社区  ›  gjin

配置单元xpath获取特定类型元素的数组

  •  1
  • gjin  · 技术社区  · 7 年前

    我有一个xml

    <d><a><c>1</c><b>2</b><b>3</b></a></d>
    

    我正在尝试返回 <b>

    [2,3]
    

    没有 <c> .我试过这样

    select xpath('<d><a><c>1</c><b>2</b><b>3</b></a></d>', "//*[local-name()='a']/*/text()");
    

    但是得到了

    [1,2,3]
    

    我以为 //*[local-name()='a']/b 将工作,但它返回一个空数组。 我怎样才能得到我想要的结果?

    2 回复  |  直到 7 年前
        1
  •  0
  •   Payam    7 年前

    简单易行:

    //b/text()
    

    我对它进行了测试,效果良好。 enter image description here

        2
  •  0
  •   gjin    7 年前
    select xpath('<d><a><c>1</c><b>2</b><b>3</b></a></d>', "//*[local-name()='a']/*[local-name()='b']/text()");
    

    编辑

    这同样有效

    "//*[local-name()='b']/text()"