cancel
Showing results for 
Search instead for 
Did you mean: 

How to delete duplicate record from input file?

former_member305454
Participant
0 Kudos

If i am getting input like below

<Root>

<row>

<field>A</field>

</row>

<row>

<field>B</field>

</row>

<row>

<field>A</field>

</row>

</Root>

Then i want output like this

<Root>

<row>

<field>B</field>

</row>

</Root>

Is it possible through xslt or xsd validation?

View Entire Topic
former_member190293
Active Contributor
0 Kudos

Hi Aditya!

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/">
        <Root>
            <xsl:apply-templates select="//field[not(text()=preceding::text()) and not(text()=following::text())]"/>
        </Root>
    </xsl:template>
    <xsl:template match="field">
        <xsl:copy-of select="."/>
    </xsl:template>
</xsl:stylesheet>

Source:

<?xml version="1.0" encoding="UTF-8"?>
<Root>
    <row>
        <field>A</field>
    </row>
    <row>
        <field>B</field>
    </row>
    <row>
        <field>A</field>
    </row>
    <row>
        <field>C</field>
    </row>
    <row>
        <field>D</field>
    </row>
    <row>
        <field>C</field>
    </row>    
</Root>

Result:

<?xml version="1.0" encoding="utf-8"?><Root><field>B</field><field>D</field></Root>

Regards, Evgeniy.

former_member305454
Participant
0 Kudos

Thanks alot Evgeniy !!!