Tool or library for comparing xml files [closed]

2019-01-16 11:26发布

I am looking for an XML comparing tool that understands xml. It cannot be a line by line comparision like WinMerge or Beyond Compare.

An ideal solution would be one that shows changes similar to the way Word 2007 shows track changes. DeltaXML does this, but does not come with a real GUI 'out of the box' and is $500 per user!:

http://i41.tinypic.com/os8k5k.jpg

ExamXml works out of the box but displays the differences in a confusing manner. It does not have a concept of before and after, it just shows the differences:

alt text http://www.a7soft.com/images/examxml1_.gif

The tool should have the concept of using attributes as a key, so that it does not think that a reordered list of elements has changed. DeltaXML does this but I failed to set it up correctly for the screen shot.


UPDATE:

So far ExamlXML is the best out of the box solution. But it lacks the change management concepts of DeltaXML. Resulting in some usability problems.

DeltaXML is pretty much the solution I need, but something with more functionality out of the box would be better. DeltaXML requires writing java code to call the api, along with writing XSL to transform the xml into the expected input.

13条回答
Lonely孤独者°
2楼-- · 2019-01-16 11:46

Oxygen XML Editor has the best collection XML diff's tool I have found. There are several different Algorithms for comparison, so if the default doesn't work for you, try Syntax Aware or some of the other Algorithms (now, I am using version 8 and haven't upgraded to version 10 so ymmv, but I doubt that the XML diff has gotten worse).

查看更多
啃猪蹄的小仙女
3楼-- · 2019-01-16 11:46

I know this is an oldish thread, but Project: Merge is a new Windows application that can manage two-way and three-way merges and comparisons of XML files. (A three-way operation assumes there are two files that are both derived from a common base file.)

You might need to tell it how to identify individual elements to work perfectly on your files, but that's easy enough to do, and you'll only need to do it once.

查看更多
该账号已被封号
4楼-- · 2019-01-16 11:49

Either programatically or UI, you can use XmlDiff, XmlPatch tools and library from MSDN For details how it work, check out the guide.

http://msdn.microsoft.com/en-us/library/aa302294.aspx

查看更多
做自己的国王
5楼-- · 2019-01-16 11:56

I might try DeltaXML + an XSLT transform to get the specific result that you want. One problem with using plain-text compare tools with XML is that the physical form of an XML document (its indenting, etc.) can change even if the content itself doesn't, which could lead to a lot of false positives. DeltaXML is a very good tool for comparing document-based XML.

Also, depending on the editor your users use, it may have XML differencing built-in. For example, Arbortext Editor has a good tool that shows the text (not the tags) with changes highlighted / struck-through.

查看更多
The star\"
6楼-- · 2019-01-16 11:58

I am very surprised nobody mentioned Microsoft's XML NotePad

It's free and it can create a pretty good comparison, telling which elements/attributes have changed, moved, been deleted, etc.:

(Sorry if the screenshots are a little wide).

You can also apply XLSes to the XML file and do various editing operations. Well worth a try.

查看更多
太酷不给撩
7楼-- · 2019-01-16 11:58

SourceGear's DiffMerge is free for a single-user:

http://www.sourcegear.com/diffmerge/

查看更多
登录 后发表回答