字符串长度查找重复节点的长度

发布于 2024-09-28 23:07:10 字数 497 浏览 4 评论 0原文

我的 xml 看起来像

<details>
  <addr>
      <streetAddressLine>90822 abc lane</streetAddressLine>
      <streetAddressLine>apt b</streetAddressLine>
      <!-- streetAddressLine element is repeatable -->
      <state>xyz</state>
  </addr>
</details>

我正在寻找 xpath 表达式,它可以给我 string-length(streetAddressLine[0]) + string-length (streetAddressLine[1]) + ..... + string-length(streetAddressLine[n) 的长度])

My xml looks like

<details>
  <addr>
      <streetAddressLine>90822 abc lane</streetAddressLine>
      <streetAddressLine>apt b</streetAddressLine>
      <!-- streetAddressLine element is repeatable -->
      <state>xyz</state>
  </addr>
</details>

I am looking for xpath expression which can give me the length of string-length(streetAddressLine[0]) + string-length (streetAddressLine[1]) + ..... + string-length(streetAddressLine[n])

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无人问我粥可暖 2024-10-05 23:07:10
string-length(string-join(/details/addr/streetAddressLine/text(),""))
string-length(string-join(/details/addr/streetAddressLine/text(),""))
债姬 2024-10-05 23:07:10

现在我们知道您需要 XPath 2.0 解决方案,此表达式:

sum(/details/addr/streetAddressLine/string-length())

结果:

19

对于 XSLT 1.0 解决方案,此样式表:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
  <xsl:variable name="vStreetAddressLines">
   <xsl:copy-of select="/details/addr/streetAddressLine"/>
  </xsl:variable>
  <xsl:value-of select="string-length($vStreetAddressLines)"/>
 </xsl:template>
</xsl:stylesheet>

输出:

19

Now that we know you want an XPath 2.0 solution, this expression:

sum(/details/addr/streetAddressLine/string-length())

Result:

19

For a XSLT 1.0 solution, this stylesheet:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
  <xsl:variable name="vStreetAddressLines">
   <xsl:copy-of select="/details/addr/streetAddressLine"/>
  </xsl:variable>
  <xsl:value-of select="string-length($vStreetAddressLines)"/>
 </xsl:template>
</xsl:stylesheet>

Output:

19
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文