請原諒我以前的類似帖子。希望我可以從很好的反饋中學習,但仍然在XPath中掙扎。我再次爲類似的帖子感到抱歉!xsl轉換 - 刪除重複
當前XML
<?xml version="1.0" encoding="utf-8" ?>
<data>
<table_1 dropdown1="Item1"></table_1>
<listitems key1="Item1" name="" key2="Id2"/>
<listitems key1="Item1" name="Item A" key2="Id2"/>
<listitems key1="Item1" name="Item B" key2="Id2"/>
<listitems key1="Item1" name="" key2="Id4"/>
<listitems key1="Item1" name="Item A" key2="Id4"/>
<listitems key1="Item1" name="Item B" key2="Id4"/>
<listitems key1="Item2" name="" key2="Id6"/>
<listitems key1="Item2" name="Item C" key2="Id6"/>
<listitems key1="Item2" name="Item D" key2="Id6"/>
</data>
當前XSL
<xsl:template match="/">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<xsl:for-each select="/data/listitems[@key1=/data/table_1/@dropdown1]">
<xsl:value-of select="@name"/>
<br/>
</xsl:for-each>
</body>
</html>
</xsl:template>
<xsl:template match="listitems">
<xsl:value-of select="concat(@name, ' ')" />
</xsl:template>
當前結果:
棒,你沒有給我們一些非常重要的東西 - 請提供轉換的確切想要的結果。這可能有助於讀者瞭解需要哪些分組 - 除非您還指定了分組的要求。記住一個基本原則:不要讓讀者猜測實際需要什麼。請。 – 2012-08-03 01:53:47
你是否應該讓你第一個6'listitem'元素全部用'key1 =「Item1」'?你的代碼不會重複任何事情,項目A和項目B都存在兩次,並且都具有相同的'key1'值。 – Flynn1179 2012-08-03 06:23:40
@DimitreNovatchev我試圖獲得的唯一值將填充一個下拉列表。我使用名稱屬性值作爲下拉列表的項目。 – Rod 2012-08-03 13:05:42