2010-11-19 8 views
12

나는 Sinatra에서 서버에 넣고 싶은 XML 문서를 가지고있다. 나는 어떤 검색을했으나 구체적인 것을 찾을 수 없었다. 빌더 젬을 찾았지 만 처음부터 문서를 빌드하고 싶지는 않습니다. Sinatra를 사용하여 XML 문서를 처리하려면 어떻게해야합니까?

나는이

get '/' 
    xml = '<?xml version=\"1.0\" encoding=\"UTF-8\"?> <name>My name</name> <age>90</age>' 
    body xml 
end 

처럼 뭔가를 시도했지만 그게 주위에 HTML 태그를 추가합니다. 아마 내가 누락 된 것은 정말 기본적인 것입니다. 옳은 방향으로 나를 가르쳐 주시겠습니까?

+0

가 '/'XML = "내 이름 90"몸 XML GET의 예상되는 출력 무엇입니까? – BlueDog

+0

게시물이 xml 태그를 래핑합니다. – Luis

+0

"이름" "90" Luis

답변

31

이것은시나 매우 간단하다 :

GET에
get '/' do 
    content_type 'text/xml' 
    "<name>Luis</name><age>99</age>" 
end 

'/'응답이 올바른 콘텐츠 _와 XML "<name>Luis</name><age>99</age>" 될 것입니다.

+0

나는 그것이 무엇인가 간단하다는 것을 알고 있었다. .. 그 생각을해야만했다! – Luis

+1

당신은 그의 대답을 받아 들여야합니다. :) (투표 통제 아래에있는 lil 확인 표시를 클릭하십시오.) –

+1

예, 답변을 수락해야합니다! :) – 19WAS85

2

Wagner의 응답에 따라 콘텐츠 유형을 추가 할 때 하나의 XML 루트 요소 http://www.w3schools.com/xml/xml_syntax.asp 만 포함해야합니다. 그렇지 않으면 Sinatra에서 예외가 발생합니다.

그래서 완전한 대답은 :

get '/' 
    content_type 'text/xml' 
    '<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><name>My name</name> <zage>90</age></root>' 
end 
관련 문제