Shell Script to compare xml files and print output to a file

All,
PLease can you help me with a shell script which can compare two xml files and print the difference to a output file.

I have attached one such file for you reference.

<Group>
        <Member ID=":Year_Quad:41501" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Jan 24, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Jan 24, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Jan 24, 2010"/>
        <Member ID=":Year_Quad:43061" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Feb 21, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Feb 21, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Feb 21, 2010"/>
        <Member ID=":Year_Quad:53700" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Mar 21, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Mar 21, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Mar 21, 2010"/>
        <Member ID=":Year_Quad:56518" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Apr 18, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Apr 18, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Apr 18, 2010"/>
        <Member ID=":Year_Quad:61671" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending May 16, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending May 16, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending May 16, 2010"/>
        <Member ID=":Year_Quad:65270" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Jun 13, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Jun 13, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Jun 13, 2010"/>
        <Member ID=":Year_Quad:72066" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Jul 11, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Jul 11, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Jul 11, 2010"/>
        <Member ID=":Year_Quad:74935" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Aug 08, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Aug 08, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Aug 08, 2010"/>
        <Member ID=":Qtr_Quad:79532" childCount="4" fullPath="PEPSICO Qtr-Quad-Wk : FOLDER.12 Weeks Ending Sep 05, 2010.4 Weeks Ending Sep 05, 2010" levelDisplayName="Qtr_Quad" levelName="Qtr_Quad" name="4 Weeks Ending Sep 05, 2010" qname="12 Weeks Ending Sep 05, 2010.4 Weeks Ending Sep 05, 2010"/>
        <Member ID=":Year_Quad:84091" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Oct 03, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Oct 03, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Oct 03, 2010"/>
        <Member ID=":Year_Quad:86333" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Oct 31, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Oct 31, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Oct 31, 2010"/>
        <Member ID=":Year_Quad:93502" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Nov 28, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Nov 28, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Nov 28, 2010"/>
        <Member ID=":Year_Quad:101615" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.52 Weeks Ending Dec 26, 2010.4 Weeks Ending Dec 26, 2010" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Dec 26, 2010" qname="52 Weeks Ending Dec 26, 2010.4 Weeks Ending Dec 26, 2010"/>
        <Member ID=":Year_Quad:105728" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.Building 52 Weeks Ending Dec 25, 2011.4 Weeks Ending Jan 23, 2011" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Jan 23, 2011" qname="Building 52 Weeks Ending Dec 25, 2011.4 Weeks Ending Jan 23, 2011"/>
        <Member ID=":Year_Quad:112734" childCount="4" fullPath="PEPSICO Year-Quad-Wk : FOLDER.Building 52 Weeks Ending Dec 25, 2011.4 Weeks Ending Feb 20, 2011" levelDisplayName="Year_Quad" levelName="Year_Quad" name="4 Weeks Ending Feb 20, 2011" qname="Building 52 Weeks Ending Dec 25, 2011.4 Weeks Ending Feb 20, 2011"/>
       </Group>
<CellValues>
      <Cell>
       <Value>10.319602657312</Value>
      </Cell>
      <Cell>
       <Value>11.707812842422</Value>
      </Cell>
      <Cell>
       <Value>9.6536930825463</Value>
      </Cell>
      <Cell>
       <Value>11.419761798981</Value>
      </Cell>
      <Cell>
       <Value>10.341018577406</Value>
      </Cell>
      <Cell>
       <Value>11.965773227183</Value>
      </Cell>
      <Cell>
       <Value>11.936577338803</Value>
      </Cell>
      <Cell>
       <Value>10.829760074249</Value>
      </Cell>
      <Cell>
       <Value>10.598210636264</Value>
      </Cell>
</Values>

In the second file the values within the tags <Value></Value> will change.

PLease advice.

this question seems similar to Getting non unique lines from concatenated files
Also I think you may be able to use diff?

There are two excellent opensource tools which already do this: XMLdiff and diffxml.