XSLT帮助,帮助您从XML中选择最新的操作节点

挖掘

请在下面找到更多详细信息。抱歉,我是这个网站和XSLT的新手

我正在尝试实现以下方案

我有一个员工的以下内容的XML

<Identifier>
<Operation>ADD</Operation>
<Position_ID>12345</Operation_ID>
<Issued_Date>2013-12-10</Issued_Date>
<Country>CN</Country>
</Identifier>
<Identifier>
<Operation>REMOVE</Operation>
<Position_ID>6734</Operation_ID>
<Issued_Date>2013-11-09</Issued_Date>
<Country>CN</Country>
</Identifier>

我正在尝试根据“最近的操作”活动,从“标识符”部分输出带有一个“操作”元素的txt文件,如下所示。假设“删除”操作是最近的操作,我想输出为

E001,SAM,PAUL,REMOVE,6734,2013-11-09,CN

如果ADD操作是最近发生的活动,那么我需要输出如下

E001,SAM,PAUL,ADD,12345,2013-12-10,CN

我使用下面的XSLT代码来获取最新代码,但是由于我使用的是'or'运算符,因此它为我提供了以下错误的输出

<xsl:choose>
<xsl:when test="pi:Identifier[pi:Operation = 'ADD' or pi:Operation = 'REMOVE']">                                
<xsl:for-each select="pi:Identifier">
<Identifiers>
<Operation>
<xsl:value-of select="pi:Operation" />
</Operation>
<Position_ID><xsl:value-of select="pi:Position_ID                        </Position_ID
<Country><xsl:value-of select="pi:Country" />                                                          </Country>
<Issued_Date>
<xsl:value-of select="pi:Issued_Date" />
</Issued_Date>
</Identifiers>
</xsl:for-each></xsl:when>
</choose>

E001,SAM,PAUL,ADD,12345,2013-12-10,CN,REMOVE,6734,2013-11-09,CN

请让我知道这可不可以帮你。

michael.hor257k

我正在尝试根据“近期操作”活动,从“标识符”部分输出带有一个“操作”元素的txt文件,如下所示

假设您正在使用XSLT 1.0,实现此目的的方法是Identifier按日期元素进行排序,并从第一个(或从最后一个,取决于排序顺序)元素获取数据。

例如,给定格式正确的(!)输入:

XML格式

<root>
    <Identifier>
        <Operation>ADD</Operation>
        <Position_ID>12345</Position_ID>
        <Issued_Date>2013-12-10</Issued_Date>
        <Country>CN</Country>
    </Identifier>
    <Identifier>
        <Operation>REMOVE</Operation>
        <Position_ID>6734</Position_ID>
        <Issued_Date>2013-11-09</Issued_Date>
        <Country>CN</Country>
    </Identifier>
</root>

应用以下样式表:

XSLT 1.0

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="utf-8"/>

<xsl:template match="/root">
    <xsl:for-each select="Identifier">
        <xsl:sort select="Issued_Date" data-type="text" order="descending"/>
        <xsl:if test="position()=1">
            <xsl:value-of select="Operation" />
            <xsl:text>,</xsl:text>
            <xsl:value-of select="Position_ID" />
            <xsl:text>,</xsl:text>
            <xsl:value-of select="Issued_Date" />
            <xsl:text>,</xsl:text>
            <xsl:value-of select="Country" />
        </xsl:if>
    </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

导致

ADD,12345,2013-12-10,CN

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用xslt 1.0从xml中选择不同的节点和总数

来自分类Dev

Nee帮助您理解!PHP函数

来自分类Dev

在 XSLT 中选择节点的各个位置

来自分类Dev

根据预期结果需要 XSLT 代码帮助以形成子节点

来自分类Dev

PL / SQL的新手可以帮助您简单表达

来自分类Dev

nethogs无法帮助您了解可疑的网络流量

来自分类Dev

RemoveExistingProducs可以帮助您从InstallScript升级到MSI吗?

来自分类Dev

最基本的课程来帮助您引发异常?

来自分类Dev

XSLT需要帮助来转换XML以显示值和属性

来自分类Dev

PHP XML重复节点需要帮助总结foreach循环的值

来自分类Dev

需要帮助在XML FILE中插入子节点

来自分类Dev

从文档中选择单个XML节点

来自分类Dev

在xml中选择特定的子节点?

来自分类Dev

Xpath帮助-选择一个节点,然后选择子节点

来自分类Dev

需要帮助以了解-XPath / XSLT中的上下文节点和当前节点

来自分类Dev

如何使用XSLT选择或删除节点xml

来自分类Dev

XSLT中的选择重复XML节点

来自分类Dev

XSLT-根据地图从模板中选择节点

来自分类Dev

使用XSLT从SOAP消息中选择节点值

来自分类Dev

难以编写XPATH以在XSLT中选择适当的节点

来自分类Dev

XSLT 1.0帮助条件循环

来自分类Dev

需要XML帮助

来自分类Dev

如何在节点肥皂中选择wsdl操作

来自分类Dev

从“ XML”列中选择所有XML节点

来自分类Dev

正确使用IoC容器如何帮助您避免使用工厂?

来自分类Dev

有没有工具或技巧可以帮助您消除疯狂?

来自分类Dev

Hystrix的替代品可以帮助您节省开支吗?

来自分类Dev

有没有工具或技巧可以帮助您消除疯狂?

来自分类Dev

有沙盒开源Symfony2项目可以帮助您学习吗?

Related 相关文章

热门标签

归档