2010-11-19 3 views
12

Ich habe einige XML-Dokumente, die ich von Sinatra verwalten möchte. Ich habe ein wenig gesucht, konnte aber nichts Bestimmtes finden. Ich habe das Builder-Juwel gefunden, aber ich möchte das Dokument nicht von Grund auf neu erstellen.Wie verwende ich Sinatra, um XML-Dokumente zu liefern?

Ich habe versucht, so etwas wie dieses

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

aber das wird fügen Sie die HTML-Tags um es zu tun. Es ist wahrscheinlich etwas wirklich Grundlegendes, das ich vermisse. Können Sie mir bitte in die richtige Richtung zeigen?

+0

Was Ihre erwartete Ausgabe von get ist '/' xml = "Mein Name 90" Körper xml? – BlueDog

+0

der Beitrag ist die xml-Tags umwickeln. Es ist so etwas – Luis

+0

"Name" "90" Luis

Antwort

31

Dies ist sehr einfach mit Sinatra:

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

Auf get '/' die Antwort wird der XML "<name>Luis</name><age>99</age>" mit dem richtigen content_type sein.

+0

Ich wusste, es war etwas einfaches ... hätte daran gedacht! – Luis

+1

Sie sollten seine Antwort akzeptieren. :) (Klicken Sie auf den kleinen Häkchen unter der Stimmkontrolle) –

+1

Ja, Sie sollten die Antwort akzeptieren! :) – 19WAS85

2

Wie unten beantwortet, zusätzlich zu Wagners Antwort zum Hinzufügen des Inhaltstyps, müssen Sie nur ein XML-Wurzelelement einschließen http://www.w3schools.com/xml/xml_syntax.asp andernfalls wird Sinatra eine Ausnahme auslösen.

So ist die vollständige Antwort lautet:

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