【发布时间】:2009-06-20 23:18:27
【问题描述】:
如果系统发现重复,它应该完全消除两个节点。 我的原始 xml 为:
<?xml version="1.0" encoding="utf-8"?>
<RESPONSE>
<RECORD>
<COUNTRY_ID>2111</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>2121</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>2211</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>2221</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3111</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3121</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3211</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3221</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>2111</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>2121</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>2211</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>2221</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>2311</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>2321</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3111</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3121</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3211</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3221</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3311</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3321</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4111</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4121</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4211</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4221</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4311</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4321</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
</RESPONSE>
所需的输出应如下:
<?xml version="1.0" encoding="utf-8"?>
<RESPONSE>
<RECORD>
<COUNTRY_ID>2311</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>2321</COUNTRY_ID>
<CITY id="2:">0</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3311</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>3321</COUNTRY_ID>
<CITY id="3:">30</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4111</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4121</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="1:14404388">LA11CFTXX</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4211</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4221</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="2:14048042">LAZ1129YY</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4311</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="1:">1</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
<RECORD>
<COUNTRY_ID>4321</COUNTRY_ID>
<CITY id="4:">100</CITY>
<LOCATION id="3:14048629">LAZ11B91AA</LOCATION>
<REPID id="2:">2</REPID>
<FLIGHTID id="1:1091513">ALK</FLIGHTID>
</RECORD>
</RESPONSE>
我们可以写一个 xsl 来做到这一点吗?
谢谢
【问题讨论】:
-
你能定义重复吗?也许更紧凑的样本会更好。