2010-11-19 29 views
12

Tôi có một số tài liệu XML mà tôi muốn máy chủ từ Sinatra. Tôi đã làm một số tìm kiếm nhưng không thể tìm thấy bất cứ điều gì cụ thể. Tôi đã tìm thấy viên ngọc xây dựng nhưng tôi không muốn xây dựng tài liệu từ đầu.Làm cách nào để sử dụng Sinatra để phân phối tài liệu XML?

tôi đã cố gắng để làm một cái gì đó như thế này

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

nhưng điều đó sẽ thêm các thẻ HTML xung quanh nó. Nó có thể là một cái gì đó thực sự cơ bản tôi đang mất tích. Bạn có thể chỉ cho tôi đúng hướng không?

+0

sản lượng dự kiến ​​của bạn về get '/' xml = "Tên tôi 90" cơ thể xml là gì? – BlueDog

+0

bài đăng được gói các thẻ xml. Đó là một cái gì đó như thế này – Luis

+0

"tên" "90" Luis

Trả lời

31

này là rất đơn giản với Sinatra:

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

On get '/' phản ứng sẽ là XML "<name>Luis</name><age>99</age>" với content_type đúng.

+0

Tôi biết nó là một cái gì đó đơn giản ... Nên nghĩ về điều đó! – Luis

+1

Bạn nên chấp nhận câu trả lời của mình. :) (nhấp vào dấu kiểm lil dưới điều khiển biểu quyết) –

+1

Có, bạn nên chấp nhận câu trả lời! :) – 19WAS85

2

Như đã trả lời dưới đây, ngoài câu trả lời của Wagner về việc thêm loại nội dung, bạn phải chỉ bao gồm một phần tử gốc XML http://www.w3schools.com/xml/xml_syntax.asp nếu không Sinatra sẽ tăng ngoại lệ.

Vì vậy, câu trả lời hoàn chỉnh là:

get '/' 
    content_type 'text/xml' 
    '<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><name>My name</name> <zage>90</age></root>' 
end 
Các vấn đề liên quan