2011-12-14 2 views
0

REST::Client perl 모듈을 사용하여 REST 서버를 테스트하고 있습니다. 내가 사용하고 현재REST :: client 모듈에서 responseXpath()의 내용을 출력하는 방법

일반적인 XML로 REST 응답을 인쇄 할 하나 개의 라인에서 XML을 출력

print $client->responseContent() 

:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:messageReference xmlns:ns2="urn:com:test:xml:rest:mds:1"><messageId>775775</messageId></ns2:messageReference> 

REST::Client 모듈은 또한 본문 내용에 대한 XPath는 컨텍스트를 반환 $client->responseXpath()에 의해, 그러나 나는 그것을 사용하는 방법을 찾을 수 없습니다 toString()XML::LibXML, 내가 원하는대로 인쇄 할 수 있습니다 :

(210)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
    <ns2:messageReference xmlns:ns2="urn:com:test:xml:rest:mds:1"> 
    <messageId>775775</messageId> 
    </ns2:messageReference> 

답변

1

$ 클라이언트 -> responseContent() 당신이 XML :: LibXML을 사용 아름답게하려는 경우이 그대로 응답을 출력

my $dom = XML::LibXML->load_xml(string => $client->responseContent()); 
print $dom->toString(); 
+0

나는 다음과 같은 오류가 발생합니다 : 객체 메소드를 찾을 수 없습니다 "XML :: LibXML"패키지를 통해 "load_xml"을 .... –

+0

다른 방법으로 솔루션을 구현했습니다 : \t my $ parser = XML :: LibXML-> new(); \t my $ doc = $ parser-> parse_string ($ client-> responseContent()); \t 인쇄 "\ n" $ doc-> toString (1); –

관련 문제