라이브러리

[PHP] XMLDiffBase::diff - 두 XML 문서의 diff 생성




XMLDiffBase::diff는 PHP의 XMLDiff 클래스를 사용하여 두 개의 XML 문서 간의 차이를 계산하는 데 사용되는 메서드입니다. 이 메서드는 두 XML 문서의 차이를 계산하고, 차이점을 XMLDiffResult 객체로 반환합니다.

XMLDiffBase::diff 사용법


XMLDiffBase::diff 메서드는 다음과 같은 형식으로 사용할 수 있습니다.

#hostingforum.kr
php

$result = XMLDiffBase::diff($xml1, $xml2);



* `$xml1` : 첫 번째 XML 문서
* `$xml2` : 두 번째 XML 문서
* `$result` : 차이점을 계산한 XMLDiffResult 객체

XMLDiffResult 객체


XMLDiffResult 객체는 두 XML 문서 간의 차이를 계산한 결과를 포함합니다. 이 객체에는 다음과 같은 메서드가 있습니다.

* `getAddedNodes()` : 추가된 노드 목록을 반환합니다.
* `getRemovedNodes()` : 삭제된 노드 목록을 반환합니다.
* `getChangedNodes()` : 변경된 노드 목록을 반환합니다.
* `getUnchangedNodes()` : 변경되지 않은 노드 목록을 반환합니다.

예제


다음 예제에서는 두 개의 XML 문서 간의 차이를 계산하고, 차이점을 계산한 결과를 출력합니다.

#hostingforum.kr
php

$xml1 = <<


    John

    30



XML;



$xml2 = <<


    Jane

    30

    123-4567



XML;



$result = XMLDiffBase::diff($xml1, $xml2);



echo "추가된 노드:
";

foreach ($result->getAddedNodes() as $node) {

    echo $node->getName() . ": " . $node->getValue() . "
";

}



echo "삭제된 노드:
";

foreach ($result->getRemovedNodes() as $node) {

    echo $node->getName() . ": " . $node->getValue() . "
";

}



echo "변경된 노드:
";

foreach ($result->getChangedNodes() as $node) {

    echo $node->getName() . ": " . $node->getValue() . "
";

}



echo "변경되지 않은 노드:
";

foreach ($result->getUnchangedNodes() as $node) {

    echo $node->getName() . ": " . $node->getValue() . "
";

}



이 예제에서는 두 개의 XML 문서 간의 차이를 계산하고, 차이점을 계산한 결과를 출력합니다. 추가된 노드, 삭제된 노드, 변경된 노드, 변경되지 않은 노드 목록을 출력합니다.

참고


XMLDiffBase::diff 메서드는 두 XML 문서 간의 차이를 계산하는 데 사용됩니다. 이 메서드는 XMLDiffResult 객체를 반환합니다. XMLDiffResult 객체에는 두 XML 문서 간의 차이를 계산한 결과가 포함되어 있습니다. 이 객체에는 추가된 노드, 삭제된 노드, 변경된 노드, 변경되지 않은 노드 목록이 포함되어 있습니다. 이 예제에서는 두 개의 XML 문서 간의 차이를 계산하고, 차이점을 계산한 결과를 출력합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 37 페이지

검색

게시물 검색