2009-02-13 12 views
40

मैं एक्सएमएल की तुलना करने वाले एक्सएमएल तुलना करने वाले टूल की तलाश में हूं। यह WinMerge या तुलना से परे लाइन तुलना द्वारा लाइन नहीं हो सकता है।एक्सएमएल फाइलों की तुलना करने के लिए टूल या लाइब्रेरी

एक आदर्श समाधान वह होगा जो Word 2007 ट्रैक ट्रैक को दिखाता है। DeltaXML इस करता है, लेकिन 'बॉक्स से बाहर' एक असली जीयूआई के साथ नहीं आता है और उपयोगकर्ता $ 500 प्रति !: बॉक्स से बाहर

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

ExamXml काम करता है, लेकिन एक भ्रमित करने वाले मतभेद प्रदर्शित करता है। यह पहले की एक अवधारणा नहीं है और बाद, यह सिर्फ मतभेदों को दर्शाता है:

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

उपकरण एक कुंजी के रूप विशेषताओं का उपयोग करने की अवधारणा होनी चाहिए, ताकि इसके बारे में एक पुनर्क्रमित सूची है कि नहीं लगता है तत्व बदल गए हैं। डेल्टाएक्सएमएल ऐसा करता है लेकिन मैं स्क्रीन शॉट के लिए इसे सही तरीके से सेट करने में विफल रहा।


अद्यतन:

अब तक ExamlXML बॉक्स समाधान से बाहर सबसे अच्छा है। लेकिन इसमें डेल्टाएक्सएमएल की परिवर्तन प्रबंधन अवधारणाओं की कमी है। कुछ प्रयोज्य समस्याओं में परिणाम।

DeltaXML काफी बॉक्स से बाहर और अधिक कार्यक्षमता बेहतर होगा साथ समाधान की आवश्यकता है, लेकिन कुछ है। डेल्टाएक्सएमएल को एक्सएमएल को अपेक्षित इनपुट में बदलने के लिए एक्सएसएल लिखने के साथ एपीआई को कॉल करने के लिए जावा कोड लिखना आवश्यक है।

+0

कृपया अधिक स्पष्ट करें - आपके उदाहरण में पुटिव डिफ टूल का उत्पादन किस आउटपुट में होना चाहिए? –

+1

इस प्रश्न के सभी उत्तरों को कम कर रहा है कौन? सुंदर बचपन – BobbyShaftoe

+0

मैंने उनमें से कई को ऊपर उठाया, क्योंकि मुझे लगता है कि उल्लिखित सभी उपयोगिताएं गुणवत्ता अनुप्रयोग हैं जो गैर-तकनीकी लोग कुछ प्रशिक्षण के साथ संभाल सकते हैं। –

उत्तर

13

अगर मैं आपकी समस्या को समझते हैं, आप की संभावना डाटा संग्रहण के रूप में एक्सएमएल फाइल का उपयोग करता है और जीयूआई "उपयोगकर्ता के अनुकूल" लेबल में "तकनीकी" टैग नाम सार है कि एक आवेदन पत्र है - फिर से, मैं यह सोचते हैं रहा हूँ। तो यह एक समान तरीके से अंतर देखने के लिए एक प्राकृतिक विस्तार होगा। मैं यह भी मान रहा हूं कि आपके एप्लिकेशन में एक भिन्न सुविधा नहीं है जो "अमूर्तता" अवधारणा का पालन करती है।

मैं कुछ खोज किया था और एक अनुप्रयोग (ExamXML) कि सुविधाओं पर प्रकाश डाला साथ करीब आ रहा है मिल गया। मैं eval संस्करण को डाउनलोड और यह के खिलाफ अपने फ़ाइलों का परीक्षण:

http://www.programmedintheusa.com/images/stack547399.png

यह मतभेद उजागर करने का एक बहुत अच्छा काम करता है। यह बहुत संवादात्मक लगता है और कितने मतभेदों के साथ पॉप अप करता है। ऐसा लगता है कि आप अपने द्वारा उपयोग किए जाने वाले रंगों को बदल सकते हैं, इसलिए हो सकता है कि आप टैग्स पर जोर देने के लिए ग्रे और सफेद का उपयोग कर सकें। ऐसा लगता है कि आपके पास बहुत से विकल्प हैं जिन्हें आप अपने उपयोगकर्ताओं के लिए प्री-सेट भी कर सकते हैं।

मैं यह ध्यान रखना चाहता हूं कि आपको एक एक्सएमएल तुलना उपकरण खोजने के लिए कठोर दबाव डाला जाएगा जो टैग नाम नहीं दिखाएगा, क्योंकि टैग सामग्री संदर्भ प्रदान करते हैं। यदि आप संदर्भ लेते हैं, तो प्रदर्शित होने वाले डेटा को समझना मुश्किल हो जाता है। किसी भी तरह, शायद यह उपकरण सहायक हो सकता है। क्या आपने अपने उपयोगकर्ताओं को इनमें से कुछ टूल दिखाने की कोशिश की है और देखें कि वे क्या सहन करने के इच्छुक हैं, कभी-कभी वे आपको आश्चर्यचकित कर सकते हैं। उम्मीद है की यह मदद करेगा!

+0

धन्यवाद जॉन, यह अब तक का सबसे अच्छा जवाब है। – joe

+0

इसे हटाए जाने से पहले तस्वीर पर क्या था? एक स्क्रीनशॉट? –

+0

@ जिर्का हनिका हां। यकीन नहीं है कि यह इस तरह क्यों चला गया। –

0

क्या आपने examdiff को आजमाया है? बेशक यह अभी भी एक तकनीकी उपकरण है, लेकिन इसके साथ काम करना आसान है। फाइलों की तुलना करने के लिए इसमें एक ड्रैग और ड्रॉप इंटरफ़ेस है।

-1

मैं हमेशा केडीएफ 3 का उपयोग करता हूं। इसका उपयोग करना आसान है और 3 फाइलों की तुलना कर सकते हैं। http://kdiff3.sourceforge.net/

+0

क्या यह एक्सएमएल संवेदनशील है? मुझे ऐसा नहीं लगता, मेरा मानना ​​है कि यह सिर्फ उन्हें सादे पाठ फ़ाइलों के रूप में व्यवहार करता है और इसलिए स्पॉट diffs जो एक्सएमएल इंफोसेट (जैसे एन्कोडिंग में परिवर्तन) में मौजूद नहीं है। – bortzmeyer

+0

आप सही हैं - इसकी एकमात्र टेक्स्ट तुलना। – mspoerr

1

माइक्रोसॉफ्ट MSDN XML से एक्सएमएल नोटपैड आज़माएं इसकी तुलना एक्सएमएल फाइलों की तुलना में करें। कोई विचार नहीं कि यह कितना अच्छा है।

5

SourceGear के DiffMerge एक एकल उपयोगकर्ता के लिए नि: शुल्क है:

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

+0

केवल अंतर दिखाने के लिए वरीयताओं को सेट करना सुनिश्चित करें। –

2

तुलना से परे उत्कृष्ट रूप @BobbyShaftoe पहले ही उल्लेख किया गया है। हालांकि विलय के लिए, मुझे Araxis Merge का उपयोग करना पसंद है। हम इसे अक्सर इसी तरह के उद्देश्यों के लिए उपयोग करते हैं।

जहां तक ​​आपके उपयोगकर्ताओं के nontechnical क्षमता के बारे में अपनी टिप्पणी के रूप में:

जवाब के लिए धन्यवाद ... लेकिन इन सब भी तकनीकी लगते हैं। मेरे उपयोगकर्ता आमतौर पर एक्सएमएल टैग नहीं देखते हैं क्योंकि उनके एक्सएमएल संलेखन उपकरण उन्हें दूर कर देते हैं। क्या कोई उपकरण है जो पाठ सामग्री में अंतर प्रदर्शित करता है, लेकिन एक्सएमएल टैग (या डी-एम्फेजिस) नहीं दिखाता है।

मैं इसे वहां फेंकने जा रहा हूं: आपके उपयोगकर्ताओं को सीखना चाहिए।यदि आप उन्हें XML फ़ाइलों को विलय और बदल रहे हैं - मैं संभावित रूप से रिकॉर्ड रखने या एप्लिकेशन कॉन्फ़िगरेशन के लिए मान रहा हूं - तो उन्हें कम से कम एक प्राथमिक समझ होनी चाहिए कि वे क्या कर रहे हैं। उन्हें सूचीबद्ध टूल का उपयोग करने और नौकरी पाने के लिए एक्सएमएल whizzes होने की जरूरत नहीं है।

यदि, हालांकि, आपके उपयोगकर्ताओं को नौकरी का प्राथमिक ज्ञान रखने की आवश्यकता है, तो वे असंभव हैं, तो मैं तीसरे पक्ष के सॉफ्टवेयर पर भरोसा करने के बजाय खुद को एक कॉन्फ़िगरेशन उपयोगिता लिखने और इसे अपने अंतिम उपयोगकर्ताओं के लिए वितरित करने का सुझाव दूंगा।

0

आपको The XML Diff and Patch GUI Tool (एमएसडीएन पर नमूना कोड) मिल सकता है आपकी आवश्यकताओं को थोड़ा बेहतर करता है: यह अभी भी टैग दिखाता है, लेकिन पाठ में अंतर पर जोर देता है। चूंकि आप कोड प्राप्त करते हैं, थोड़ी अधिक कोशिश के लिए आप इसे अपनी आवश्यकताओं के अनुरूप अधिक सटीक बना सकते हैं।

हालांकि नमूना अपेक्षाकृत बुजुर्ग है (जुलाई 2004, और 2002 में अपनी जड़ें है) यह करने के लिए विजुअल स्टूडियो एक्सप्रेस C# 2008 दर्द को अपग्रेड किए जाने। बंद कर दिया न करें, MSDN साइट से sample डाउनलोड करने यदि/जब संस्थापक एमएसआई का उल्लेख है "नेट कोड नमूना में SQLXML Bulkload" - यह नहीं है!

+0

लिंक के लिए धन्यवाद। मैंने कुछ फ़ाइलों पर उपयोगिता चलाई जो उपयोगकर्ता चाहते थे, और तुलना आउटपुट एक अच्छा प्रारूप था। दुर्भाग्यवश यह गलत रूप से कुछ एक्सएमएल को अलग-अलग चिह्नित करता था जब यह नहीं था। – joe

3

मैं कोशिश कर सकते हैं DeltaXML + एक XSLT विशिष्ट नतीजा यह है कि आप चाहते हैं पाने के लिए बदलना। एक्सएमएल के साथ सादे-पाठ तुलना उपकरणों का उपयोग करने में एक समस्या यह है कि एक XML दस्तावेज़ (इसका इंडेंटिंग इत्यादि) का भौतिक रूप तब भी बदल सकता है जब सामग्री स्वयं नहीं होती है, जिससे बहुत सारे झूठे सकारात्मक हो सकते हैं। दस्तावेज़-आधारित एक्सएमएल की तुलना करने के लिए डेल्टाएक्सएमएल एक बहुत अच्छा टूल है।

इसके अलावा, संपादक आपके उपयोगकर्ताओं द्वारा उपयोग पर निर्भर करता है, यह एक्सएमएल differencing में निर्मित हो सकता है। उदाहरण के लिए, Arbortext Editor का एक अच्छा टूल है जो टेक्स्ट (टैग नहीं) को हाइलाइट/मारा-थ्रू के साथ दिखाता है।

+0

यह एक अच्छा समाधान की तरह दिखता है, हालांकि महंगा अंत ($ 500 प्रति उपयोगकर्ता) पर। – joe

0

या तो प्रोग्रामेटिक या यूआई, आप एमएसडीएन से XmlDiff, XmlPatch टूल्स और लाइब्रेरी का उपयोग कर सकते हैं विवरण के लिए यह कैसे काम करता है, मार्गदर्शिका देखें।

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

+0

मैंने इसका परीक्षण किया है और यह गलत परिणामों को आउटपुट करता है। – joe

3

Altova diffDog एक्सएमएल जासूस और diffDog असाधारण उपकरण हैं। उन्हें अपने ठंडे मृत हाथों से थोड़ी सी चीजें, थोड़ी सी चीजें।

0

Oxygen एक्सएमएल संपादक का सबसे अच्छा संग्रह एक्सएमएल डिफ के उपकरण मैंने पाया है। तुलना के लिए कई अलग-अलग एल्गोरिदम हैं, इसलिए यदि डिफ़ॉल्ट आपके लिए काम नहीं करता है, तो सिंटैक्स एवेयर या कुछ अन्य एल्गोरिदम का प्रयास करें (अब, मैं संस्करण 8 का उपयोग कर रहा हूं और संस्करण 10 में अपग्रेड नहीं किया गया है, इसलिए मुझे संदेह है, लेकिन मुझे संदेह है कि एक्सएमएल diff खराब हो गया है)।

17

मैं बहुत हैरान कोई भी उल्लेख हो, माइक्रोसॉफ्ट के XML NotePad

यह मुफ़्त है और यह एक बहुत अच्छी तुलना, कह जो तत्व/गुण बदल गया है, हटाया गया, हटा दिया गया, आदि .:

बना सकते हैं (माफ करना अगर स्क्रीनशॉट थोड़ा चौड़ा है)।

तुम भी एक्सएमएल फ़ाइल को XLSes लागू करते हैं और विभिन्न संपादन कार्य कर सकते हैं। एक कोशिश के लायक है।

+1

क्या आप मुझे बता सकते हैं कि तुलना सुविधा कैसे प्राप्त करें? धन्यवाद। – joe

+2

निश्चित रूप से।आप एक एक्सएमएल फ़ाइल खोलते हैं, फिर आप "व्यू" मेनू पर जाते हैं और "एक्सएमएल फाइलों की तुलना करें" पर क्लिक करें – Sylverdrag

+0

मैंने एक्सएमएल नोटपैड की कोशिश की और मुझे यह बहुत दिलचस्प लगा। सुझाव देने के लिए धन्यवाद। – paradisonoir

0

मुझे पता है कि यह एक पुराना धागा है, लेकिन Project: Merge एक नया विंडोज़ एप्लीकेशन है जो दो-तरफा और तीन-तरफा विलय और एक्सएमएल फाइलों की तुलना का प्रबंधन कर सकता है। (एक तीन-तरफा ऑपरेशन मानता है कि दो फाइलें हैं जो दोनों एक सामान्य बेस फ़ाइल से ली गई हैं।)

आपको यह बताने की आवश्यकता हो सकती है कि अलग-अलग तत्वों को आपकी फाइलों पर पूरी तरह से काम करने के लिए कैसे पहचानें, लेकिन यह करना आसान है , और आपको केवल एक बार ऐसा करने की आवश्यकता होगी।

संबंधित मुद्दे