我需要检查标记中重复值的XML文件。 下面是该文件的一小部分示例。 tag' csvpartname'的值必须检查重复项,因为它可能只能使用一次。 我不知道怎么做,所以非常欢迎任何帮助!
<?xml version="1.0" ?><!DOCTYPE NmLoader SYSTEM "standardX24.dtd">
<NmLoader>
<csvPart handler="wt.part.LoadPart.createPart" >
<csvuser></csvuser>
<csvpartName>Configured Fan</csvpartName>
<csvpartNumber>0000023860</csvpartNumber>
<csvtype>separable</csvtype>
<csvgenericType>standard</csvgenericType>
<csvcollapsible></csvcollapsible>
<csvlogicbasePath></csvlogicbasePath>
</csvPart>
<csvPart handler="wt.part.LoadPart.createPart" >
<csvuser></csvuser>
<csvpartName>Configured Fan</csvpartName>
<csvpartNumber>0000023861</csvpartNumber>
<csvtype>separable</csvtype>
<csvgenericType>standard</csvgenericType>
<csvcollapsible></csvcollapsible>
<csvlogicbasePath></csvlogicbasePath>
</csvPart>
</NmLoader>
答案 0 :(得分:0)
此代码检查csvpartName是否在XML
中出现多次<?xml version='1.0' encoding='ISO-8859-1'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:key name="k" match="csvPart" use="csvpartName" />
<xsl:template match='/'>
<html>
<body>
<xsl:apply-templates select='//csvpartName'/>
</body>
</html>
</xsl:template>
<xsl:template match='*'>
<xsl:if test='count(key("k", .)) > 1'>
<p>
<xsl:value-of select='.'/> is used
<xsl:value-of select='count(key("k", .))'/> times
</p>
</xsl:if>
</xsl:template>
</xsl:stylesheet>