문제

JDOM을 사용하여 XML을 읽고 쓰는 코드에 대한 단위 테스트를 작성하고 있습니다.따라서 내 코드에서 생성되는 JDOM Element를 참조 Element와 비교하여 동일한 지 확인하는 방법이 필요합니다 (동일한 이름, 네임 스페이스 및 속성과 하위 항목에 대해서도 동일 함).

안타깝게도 Element.equals는 요소가 참조 적으로 동일한 지 여부 만 테스트합니다.두 요소가 동일한 트리를 나타내는 지 어떻게 가장 잘 결정할 수 있습니까?

도움이 되었습니까?

해결책

다음은 두 XML 요소가 동일한 지 확인해야합니다. 라코 디스

다른 팁

다음 세 가지 방법 만 생각할 수 있습니다.

  1. 공개적으로 액세스 할 수있는 Element 필드를 사용하여 비교할 코드를 수동으로 생성합니다.
  2. Java 리플렉션을 사용하여 Element의 필드를 열거하고 모두 비교하는 코드를 만듭니다.얕거나 깊은 비교는 귀하의 필요에 달려 있습니다.
  3. xxxOutputter 클래스 중 하나를 사용하여 각 요소를 출력하고 출력을 비교합니다.예 :org.jdom.output.XMLOutputter로 각 요소에서 XML 문자열을 만들고 문자열을 비교합니다.

    모두 상당히 엉뚱 해요!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top