2010-11-19 7 views
12

J'ai des documents XML que j'aimerais utiliser chez Sinatra. J'ai fait quelques recherches mais je n'ai rien trouvé de spécifique. J'ai trouvé la gemme du constructeur, mais je ne veux pas créer le document à partir de zéro.Comment utiliser Sinatra pour traiter des documents XML?

J'ai essayé de faire quelque chose comme ça

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

mais qui ajoutera les balises HTML autour. C'est probablement quelque chose de vraiment basique qui me manque. Pouvez-vous me diriger dans la bonne direction s'il vous plaît?

+0

Quelle est votre sortie attendue de get '/' xml = "Mon nom 90" xml corps? – BlueDog

+0

le message encapsule les balises xml. C'est quelque chose comme ça – Luis

+0

"nom" "90" Luis

Répondre

31

Ceci est très simple avec Sinatra:

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

ENTREZ '/' la réponse sera le XML "<name>Luis</name><age>99</age>" avec le content_type correct.

+0

Je savais que c'était quelque chose de simple ... J'aurais dû y penser! – Luis

+1

Vous devriez accepter sa réponse. :) (cliquez sur la coche lil sous le contrôle de vote) –

+1

Oui, vous devez accepter la réponse! :) – 19WAS85

2

Comme répondu ci-dessous, en plus de la réponse de Wagner d'ajouter le type de contenu, vous devez inclure un seul élément racine XML http://www.w3schools.com/xml/xml_syntax.asp sinon Sinatra lèvera une exception.

La réponse complète est la suivante:

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