【发布时间】:2013-09-16 14:56:46
【问题描述】:
我有以下 XML 文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DatDtl xmlns="http://ups.com/ttg/cache/country">
<CnyDtl>
<Cny TslLguCd="001" CnyCd="00" Cny2Cd="DNA" Cny3Cd="000" CnyNa="Data Not Available" CnyOflNa="Data Not Available" RecEffSttDt="2010-12-31" RecEffEndDt="2099-12-31" RecUdtTs="2012-07-27 15:35:08.352773"/>
<Cny TslLguCd="001" CnyCd="96" Cny2Cd="OTH" Cny3Cd="996" CnyNa="Other" CnyOflNa="Other" RecEffSttDt="2010-12-31" RecEffEndDt="2099-12-31" RecUdtTs="2012-07-27 15:35:14.291605"/>
</CnyDtl>
</DatDtl>
我想将其转换为仅包含 CnyCd 和 CnyNa 属性值的 CSV 文件。我编写了以下 XSLT 来提取这两个值:
<
?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="CnyDtl/Cny">
<xsl:value-of select="@CnyNa"/>
<xsl:value-of select="@CnyCd"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
但我总是会出错。什么是正确的 XSLT 转换?
【问题讨论】:
-
您好,您必须先匹配“DatDtl”,然后才能匹配每个“CnyDtl/Cny”。最好的问候,彼得
-
不要告诉我们您遇到了错误而不告诉我们您遇到了什么错误。它们可能对您没有意义,但它们可能对回答您问题的人有意义。
标签: xml xslt csv transformation