2010-10-15 9 views
9

मैं यह देखने की कोशिश कर रहा हूं कि मैं निम्नलिखित दो अलग-अलग एक्सएमएल की तुलना करने के लिए XMLUnit का उपयोग कर सकता हूं या नहीं। मैंने निम्नलिखित दो एक्सएमएल की तुलना करने के लिए डिफ क्लास का उपयोग किया और इसी तरह के रिटर्न की जांच झूठी।XMLUnit - बच्चे के आदेश को अनदेखा करते हुए दो एक्सएमएल की तुलना करें

XML One 
<Required> 
    <Question desc="Are you single?"> 
     <Answers> 
     <Answer value="Yes"/> 
     <Answer value="No"/> 
     </Answers> 
    </Question> 
</Required> 

XML Two 
<Required> 
    <Question desc="Are you single?"> 
     <Answers> 
     <Answer value="No"/> ''Order is reversed in XML two 
     <Answer value="Yes"/> 
     </Answers> 
    </Question> 
</Required> 

यहाँ मेरी जावा कोड है:

Diff xmlDiff; 
try { 
    xmlDiff = new Diff(xmlOne, xmlTwo); 
    xmlDiff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier()); 
} catch (Exception e) { } 
boolean isEqual = xmlDiff.similar() 

उत्तर

2

xmlDiff.similar चाहिए चाल करते हैं, लेकिन मैं अनुभव किया है कि यह हमेशा काम नहीं करता। मेरा कामकाज तुलना से पहले तत्वों को सॉर्ट करना था।

ध्यान दें कि आपके आउटपुट में अच्छी तरह से परिभाषित ऑर्डर करने के लिए एप्लिकेशन में निर्माण करना अक्सर एक अच्छा विचार है क्योंकि यह स्वचालित परीक्षण को इतना आसान बनाता है।