Я пытаюсь сравнить документы из двух слов, используя docx4j-diffx
Но я не могу понять, как получить информацию, если документы равны или нет.
При использовании этого кода:
WordprocessingMLPackage newerPackage = WordprocessingMLPackage.load(newDocx.toFile());
WordprocessingMLPackage olderPackage = WordprocessingMLPackage.load(newDocx.toFile());
Body newerBody = ((Document) newerPackage.getMainDocumentPart().getJaxbElement()).getBody();
Body olderBody = ((Document) olderPackage.getMainDocumentPart().getJaxbElement()).getBody();
// 2. Do the differencing
java.io.StringWriter sw = new java.io.StringWriter();
javax.xml.transform.stream.StreamResult result = new javax.xml.transform.stream.StreamResult(sw);
Calendar changeDate = null;
Differencer pd = null;
pd = new Differencer();
pd.diff(newerBody, olderBody, result, "someone", changeDate, newerPackage.getMainDocumentPart().getRelationshipsPart(),
olderPackage.getMainDocumentPart().getRelationshipsPart());
// 3. Get the result
String contentStr = sw.toString();
System.out.println("->"+contentStr);
Я получаю очень длинную xml строку в качестве вывода и вижу xmlns:ins="http://www.topologi.com/2005/Diff-X" ><!-- No differences -->
в результате.
Но кто-нибудь может сказать мне, как я получаю эту информацию программно?