Xml 需要XSLT示例吗
我有一个xml需要创建带有自定义标记的xslt,需要获得一些示例,或者任何有关xslt的帮助都会很有帮助。 这是输入xml,我需要使用xslt将其分为两部分 输入:Xml 需要XSLT示例吗,xml,xslt-1.0,Xml,Xslt 1.0,我有一个xml需要创建带有自定义标记的xslt,需要获得一些示例,或者任何有关xslt的帮助都会很有帮助。 这是输入xml,我需要使用xslt将其分为两部分 输入: 声明及文件 MHS 美元 2. 宣称 050001741183100 0 美元 宣称 050001741179800 150 美元 期望输出: 声明及文件 MHS 2. 050001741183100 0 美元 050001741179800 150 美元 我当前的XLST: 我无法为每个索赔金额添加标签,任何帮助假
声明及文件
MHS
美元
2.
宣称
050001741183100
0
美元
宣称
050001741179800
150
美元
期望输出:
声明及文件
MHS
2.
050001741183100
0
美元
050001741179800
150
美元
我当前的XLST:
我无法为每个索赔金额添加标签,任何帮助假设您输入的每个索赔的结构与示例中所示的结构完全相同,您可以这样做: XSLT1.0
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<Doc1Statement_STG>
<xsl:for-each select="XMLJRN/P">
<StatementDocument>
<xsl:value-of select="E[@name='Statement_Document']"/>
</StatementDocument>
<StatementIdentifier>
<xsl:value-of select="E[@name='StatementIdentifier']"/>
</StatementIdentifier>
<ClaimCount>
<xsl:value-of select="E[@name='ClaimCount']"/>
</ClaimCount>
<xsl:for-each select="E[@name='Claim']">
<Doc1Claim_STG>
<ClaimNumber>
<xsl:value-of select="following-sibling::E[@name='ClaimNumber'][1]"/>
</ClaimNumber>
<AmountPaid>
<xsl:value-of select="following-sibling::E[@name='AmountPaid'][1]"/>
</AmountPaid>
<ClaimCurrencyCode>
<xsl:value-of select="following-sibling::E[@name='CurrencyCode'][1]"/>
</ClaimCurrencyCode>
</Doc1Claim_STG>
</xsl:for-each>
</xsl:for-each>
</Doc1Statement_STG>
</xsl:template>
</xsl:stylesheet>
到目前为止,您尝试了哪些XSLT,您在使用XSLT时遇到了哪些具体问题?我尝试了xsl 1.0,但我无法用一个xml将其划分为多个部分。--在一节中,我需要根据索赔数量插入docclaim_stg,在该组下,请不要在注释中发布代码,因为格式已丢失。你可以随心所欲地编辑自己的帖子(每篇帖子下都有一个“编辑”链接),一旦你获得了一定的声誉,你也可以建议编辑其他人的帖子。对不起。。这是我发布的第一篇帖子,我将在帖子中进行更改,感谢您提供的信息。没有神奇的方法可以将元素列表拆分为任意标记。你必须一个节点一个节点地做。非常好的Michael,非常感谢你。你节省了我一整天的时间。以前我正在使用,但无法获取该组下的项目。现在我得到了你的答案,我们可以选择使用“以下兄弟:……再次感谢迈克尔
<Doc1Statement_STG>
<StatementDocument>Statement_Document</StatementDocument>
<StatementIdentifier>MHS</StatementIdentifier>
<ClaimCount>2</ClaimCount>
<Doc1Claim_STG>
<ClaimNumber>050001741183100</ClaimNumber>
<AmountPaid>0.00</AmountPaid>
<ClaimCurrencyCode>USD</ClaimCurrencyCode>
</Doc1Claim_STG>
<Doc1Claim_STG>
<ClaimNumber>050001741179800</ClaimNumber>
<AmountPaid>150.00</AmountPaid>
<ClaimCurrencyCode>USD</ClaimCurrencyCode>
</Doc1Claim_STG>
</Doc1Statement_STG>
<xsl:template match="XMLJRN/P">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="E">
<Doc1Statement_STG>
<xsl:element name="{@name}">
<xsl:value-of select="."/>
</xsl:element>
</Doc1Statement_STG>
</xsl:template>
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<Doc1Statement_STG>
<xsl:for-each select="XMLJRN/P">
<StatementDocument>
<xsl:value-of select="E[@name='Statement_Document']"/>
</StatementDocument>
<StatementIdentifier>
<xsl:value-of select="E[@name='StatementIdentifier']"/>
</StatementIdentifier>
<ClaimCount>
<xsl:value-of select="E[@name='ClaimCount']"/>
</ClaimCount>
<xsl:for-each select="E[@name='Claim']">
<Doc1Claim_STG>
<ClaimNumber>
<xsl:value-of select="following-sibling::E[@name='ClaimNumber'][1]"/>
</ClaimNumber>
<AmountPaid>
<xsl:value-of select="following-sibling::E[@name='AmountPaid'][1]"/>
</AmountPaid>
<ClaimCurrencyCode>
<xsl:value-of select="following-sibling::E[@name='CurrencyCode'][1]"/>
</ClaimCurrencyCode>
</Doc1Claim_STG>
</xsl:for-each>
</xsl:for-each>
</Doc1Statement_STG>
</xsl:template>
</xsl:stylesheet>