我想通过使用xsl将内容从一个XML文件(items.xml)复制到另一个可用='是'的xml文件(product.xml)中。我该怎么做?我有以下XML文件
item.xml:
<items>
<item available="yes" >
<name> laptop </name>
<quantity> 2 </quantity>
</item>
<item available="yes" >
<name> mouse </name>
<quantity> 1 </quantity>
</item>
<item available="no" >
<name> keyboad </name>
<quantity> 0</quantity>
</item>
</items>
输出:
<items>
<item>
<name> laptop </name>
<quantity> 2 </quantity>
</item>
<item>
<name> mouse </name>
<quantity> 1 </quantity>
</item>
<item available="no">
<name> keyboad </name>
<quantity>0</quantity>
</item>
</items>
答案 0 :(得分:1)
您需要的XSLT只是身份规则,其中包含您要删除的模板的附加模板,不会产生任何输出。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="item/@available[.='yes']" />
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
第一个模板更具体,并将覆盖下面更通用的模板。
答案 1 :(得分:0)
通过使用xsl(如果可用)&#34;来说&#34;是什么意思? ?
然而,实现目标的唯一方法是解析它。
这取决于您使用的技术,例如我有几种解析XML文件的方法:DOM,SAX,STAX。
祝你好运
答案 2 :(得分:0)
您可以使用<xsl:import>
或<xsl:copy>
来实现此目标。