2013-07-16 11 views
13

Tôi muốn chuyển đổi đối tượng XMLDocument mà tôi nhận được dưới dạng phản hồi từ một yêu cầu ajax, thành một chuỗi. Tôi đã cố gắng sử dụngChuyển đổi đối tượng XMLDocument thành String trong Javascript

new XMLSerializer()).serializeToString(xmlObject) 

và tôi nhận được câu trả lời như sau: -

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:errorList xmlns:ns2="http://www.example.com/api/delivery/V1"><error code="DOMAIN_VALIDATE" path="delivery.shipper"><message>empty</message></error><error code="DOMAIN_VALIDATE" path="delivery.shipperSite"><message>empty</message></error><error code="DOMAIN_VALIDATE" path="delivery.leg"><message>invalid</message></error></ns2:errorList> 

Có nghĩa là phương pháp chuyển đổi toàn bộ XMLDocument thành chuỗi, bao gồm thẻ đầu tiên

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 

I don' Tôi muốn phần này của phản hồi. Có phương pháp nào thực hiện điều đó không. Lưu ý: Tôi không muốn sử dụng các biện pháp khắc phục như "substr" vv

Trả lời

37

Bạn có thể làm điều này bằng cách tuần tự chỉ là nút gốc:

new XMLSerializer().serializeToString(xmlObject.documentElement); 

Demo: http://jsfiddle.net/timdown/LmWkL/

+0

Cám ơn độ phân giải @TimDown. Nó hoạt động – paras2682

+0

Cảm ơn bạn đã sửa chữa .. :) –

+2

Nên có một 'lưu câu trả lời này ở đâu đó bởi vì bạn sẽ tìm kiếm nó một triệu lần' nút trong SO ... – Nathan