xmldiff パッケージの使用に問題があります。xmldiff パッケージ 0.9.2 を使用しています。PHP 5.4.17; アパッチ 2.2.25。
たとえば、「from.xml」と「to.xml」の 2 つの xml ファイルがあります。
ファイル「from.xml」には以下が含まれます。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<rott>
<NDC>321</NDC>
<NDC>123</NDC>
</rott>
</root>
ファイル「to.xml」には以下が含まれます。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<rott>
<NDC>123</NDC>
<NDC>321</NDC>
</rott>
</root>
私はコードを使用しています:
$zxo = new XMLDiff\File;
$dir1 = dirname(__FILE__) . "/upload/from.xml";
$dir2 = dirname(__FILE__) . "/upload/to.xml";
$diff = $zxo->diff($dir1, $dir2);
$file = 'differences.xml';
file_put_contents($file, $diff);
「differences.xml」ファイルに結果が表示されます。
<?xml version="1.0"?>
<dm:diff xmlns:dm="http://www.locus.cz/diffmark">
<root>
<rott>
<dm:delete>
<NDC/>
</dm:delete>
<dm:copy count="1"/>
<dm:insert>
<NDC>321</NDC>
</dm:insert>
</rott>
</root>
</dm:diff>
次の場所からコメントしてください。
<dm:delete>
<NDC/>
</dm:delete>
来る?
また、xml ノードの順序に関係なく 2 つの xml ファイルを異なる方法があれば教えてください。