2012-10-18 1 views

답변

1

당신은이 일을 할 수

if xmllint --xpath '/my/path' file.xml; then 
    echo "success" 
else 
    echo >&2 "error" 
    exit 1 
fi 

당신이 --xpath 스위치이없는 경우 :

file=/path/to/file 
xpath='/foo/bar' 
result="$(echo "cat $xpath" | xmllint --shell "$file")" 

if [ $(echo "$result" | wc -l) -gt 2 ]; then 
    echo "success" 
else 
    echo >&2 "error" 
    exit 1 
fi 
+0

내가 xmllint가의 옵션입니다 --xpath 생각하지는. –

+0

http://pastie.org/5080881 맨 페이지 나 도움말을 읽은 적이 있습니까 ??? 내 스크립트가 제대로 작동합니다. 당신이 뭔가를 이해하지 못한다면, 물어보십시오. –

+0

알파벳순으로 맨 페이지의 마지막 옵션은 --xmlout입니다. 그래서 내가 그걸 썼다. 어쩌면 우리는 다른 버전의 xmllint를 사용하고있을 것입니다. –

0

또는 당신은 당신이 당신의 유효성을 검사 할 스키마가있는 경우 xml 파일은 다음과 같이 할 수 있습니다 : xmllint --noout --schema your_xsd_file your_xml_file 2> myxm lval.out

myxmlval.out 캡처 오류 xmllint가 스키마 검증에서 나오는 파일 될 것