【问题标题】:XSLT to pick last node elementXSLT 选择最后一个节点元素
【发布时间】:2016-06-16 16:10:22
【问题描述】:

我知道这是一个非常简单的问题,但不知何故我的 XSLT 无法正常工作。我在 XML 之下,我需要从中获取最后一个索引号。在这种情况下,它是 10。有人可以提供 xsl。感谢您的帮助:

<?xml version="1.0" encoding="UTF-8"?>
<messages xmlns="http://www.workday.com/wd-queue/17" returned-count="11" total-count="11">
    <message>
        <index>4</index>
        <uri>/ccx/wd-queue/queue_service_pxd/messages/4</uri>
        <size>1869</size>
        <uploaded>2016-06-14T14:14:47.000Z</uploaded>
        <content-type>text/xml;charset=UTF-8</content-type>
    </message>
    <message>
        <index>5</index>
        <uri>/ccx/wd-queue/queue_service_pxd/messages/5</uri>
        <size>1820</size>
        <uploaded>2016-06-14T17:23:28.000Z</uploaded>
        <content-type>text/xml;charset=UTF-8</content-type>
    </message>
    <message>
        <index>6</index>
        <uri>/ccx/wd-queue/queue_service_pxd/messages/6</uri>
        <size>1435</size>
        <uploaded>2016-06-14T17:45:45.000Z</uploaded>
        <content-type>text/xml;charset=UTF-8</content-type>
    </message>
    <message>
        <index>7</index>
        <uri>/ccx/wd-queue/queue_service_pxd/messages/7</uri>
        <size>159031</size>
        <uploaded>2016-06-14T17:49:27.000Z</uploaded>
        <content-type>text/xml;charset=UTF-8</content-type>
    </message>

    <message>
        <index>10</index>
        <uri>/ccx/wd-queue/queue_service_pxd/messages/10</uri>
        <size>1044</size>
        <uploaded>2016-06-14T18:07:31.000Z</uploaded>
        <content-type>text/xml;charset=UTF-8</content-type>
    </message>

</messages>

我正在使用的 XSLT:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.workday.com/wd-queue/17">
    <xsl:output omit-xml-declaration="yes"/>
    <xsl:template match="/">
        <xsl:apply-templates select="/*/message[last()]/index"/>
    </xsl:template>
</xsl:stylesheet>

【问题讨论】:

  • 您可以添加您尝试过的 XSLT 和所需的输出吗?另外,您确定需要 XSLT 吗?一个简单的 XPath 可能会返回您正在寻找的内容。
  • w3.org/1999/XSL/Transform">
  • "但不知何故我的 XSLT 不工作" 这是因为您的 XML 有一个您的 XSLT 不尊重的 命名空间。 --附言请不要在 cmets 中发布代码 - 将您的样式表添加到您的问题中)。
  • 对不起,我的系统上有这个,但它仍然不起作用。将在上面发布我的 XSL。

标签: xml xslt


【解决方案1】:

试试这个方法:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns1="http://www.workday.com/wd-queue/17">
<xsl:output method="xml" omit-xml-declaration="yes" version="1.0" encoding="utf-8" indent="yes"/>

<xsl:template match="/ns1:messages">
    <xsl:apply-templates select="ns1:message[last()]/ns1:index"/> 
</xsl:template> 

</xsl:stylesheet>

【讨论】:

  • @SankalpSrivastava 如果您的问题得到解答,请通过接受答案将其关闭。
  • 完成。再次感谢。
猜你喜欢
  • 2021-10-26
  • 1970-01-01
  • 2017-11-28
  • 1970-01-01
  • 2010-11-30
  • 1970-01-01
  • 1970-01-01
  • 2022-06-23
  • 1970-01-01
相关资源
最近更新 更多