두 개의 XML 파일이 있는데 그 파일과 비교하고 싶습니다.자동 서식 및 차이점 XML
문제는 xml 파일이 형식이 지정되지 않았으며 모두 한 줄에 있다는 것입니다. 내가 발견 한 일반적인 diff 도구는 자동 서식을 지정할 수 없습니다.
내가 할 수있는 도구가 있는지 궁금해. 명령 프롬프트에서 호출 할 수 있어야합니다. 또는 에는 명령 프롬프트에서 호출 할 수있는 자동 포맷터가 있으므로 나중에 diff 도구를 호출합니다.
감사합니다.
두 개의 XML 파일이 있는데 그 파일과 비교하고 싶습니다.자동 서식 및 차이점 XML
문제는 xml 파일이 형식이 지정되지 않았으며 모두 한 줄에 있다는 것입니다. 내가 발견 한 일반적인 diff 도구는 자동 서식을 지정할 수 없습니다.
내가 할 수있는 도구가 있는지 궁금해. 명령 프롬프트에서 호출 할 수 있어야합니다. 또는 에는 명령 프롬프트에서 호출 할 수있는 자동 포맷터가 있으므로 나중에 diff 도구를 호출합니다.
감사합니다.
http://tidy.sourceforge.net/은 XML을 들여 쓰기 할 수있는 훌륭한 도구이므로 쉽게 비교할 수 없습니다. MinGW MSYS (또는 Cygwin)와 GNU diff 도구의 포트가 있습니다. WinMerge는 내가 개인적으로 선호하는 훌륭한 그래픽 diff 도구입니다.
프로그램 xmllint 포맷과 다른 방법으로 XML을 정규화 할 것이다 명령 줄 :
xmllint --format file.xml > formatted_file.xml
xmllint --c14n file.xml > canonicalized_file.xml
사용과 같이 명령 줄에 깔끔한 DIFF :
이diff <(tidy -q -xml file1.xml) <(tidy -q -xml file2.xml)
당신은 할 수 있습니다 깔끔한 명령에 추가를 추가합니다.
명령 프롬프트에서 도구를 호출 할 수 있습니까? – formatjam
명령 프롬프트 예에서 WinMerge를 호출 할 수 있지만 그래픽 창이 열립니다. 커맨드 라인 만 필요하면 깔끔한 도구를 사용하여 MinGW와 함께 제공되는 GNU diff 도구 (또는 실제로는 http://unxutils.sourceforge.net/)가 MinGW보다 훨씬 간단합니다. 너는 좋아한다). – Allanrbo
아니요, 파이핑에 대해 내가 말한 것을 잊어 버리십시오 :-) 그것은 아마도 diffing에 실용적이지 않을 것입니다. 그러나 깔끔한 도구를 사용하여 예를 들어 tmp1.xml 및 tmp2.xml에 저장 한 다음 diff tmp1.xml tmp2.xml에 저장할 수 있습니다. – Allanrbo