XML ファイルから重複した要素を削除するにはどうすればよいですか?
質問
次のようなXMLファイルがあります
<ns0:Employees xmlns:ns0="http://TestIndexMap.Employees">
<Employee FirstName="FirstName_0" LastName="LastName_1" dept="dept_2" empNumber="1">
<Schedules>
<Schedule Date_join="2008-01-20" Date_end="2008-01-30" />
</Schedules>
</Employee>
<Employee FirstName="FirstName_0" LastName="LastName_1" dept="dept_2" empNumber="2">
<Schedules>
<Schedule Date_join="2008-01-20" Date_end="2008-01-30" />
</Schedules>
</Employee>
<Employee FirstName="FirstName_2" LastName="LastName_1" dept="dept_2" empNumber="2">
<Schedules>
<Schedule Date_join="2007-01-21" Date_end="2007-12-30" />
</Schedules>
</Employee>
<Employee FirstName="FirstName_2" LastName="LastName_1" dept="dept_2" empNumber="2">
<Schedules>
<Schedule Date_join="2007-01-21" Date_end="2007-12-30" />
<Schedule Date_join="2008-06-20" Date_end="2008-01-30" />
</Schedules>
</Employee>
</ns0:Employees>
名、姓、 date_join および data_end に基づいて重複を削除したいと考えています。
XSLT を使用してこれを実現する方法を誰かが説明してもらえますか?
解決
ここにいくつかのサンプルがあります 要素名とIDフィールドに基づいて重複を削除する方法. 。これを任意の分野に拡張することはそれほど難しいことではありません。
質問:拡大。私のXMLの一部は次のように見えます:
<location>
<state>xxxx</state>
</location>
<location>
<state>yyyy</state>
</location>
<location>
<state>xxxx</state>
</location>
望ましい出力は次のとおりです。
xxxx
yyyy
つまり、状態の重複した値を出力すべきではありません。これはできるでしょうか?
<xsl:variable name="unique-list"
select="//state[not(.=following::state)]" />
<xsl:for-each select="$unique-list">
<xsl:value-of select="." />
</xsl:for-each>
所属していません StackOverflow