2009-07-28 45 views

Trả lời

0

Ngữ cảnh nào đang chạy trong đó và bạn sẽ lưu dữ liệu XML mới ở đâu?

(Bối cảnh thông thường là trình duyệt, trong trường hợp đó bạn về cơ bản có khả năng hiển thị nó hoặc gửi nó lại cho máy chủ.)

Nhưng nếu bạn đang viết một kịch bản mà có thể chạy ngoài trình duyệt , nó phụ thuộc.

+0

Tôi đang nhận dữ liệu của bản đồ google và cần lưu trữ trong tệp xml, và từ tệp xml tôi cần tạo bản đồ dựa trên phần tử xml .. – Avinash

+1

Được rồi, tôi đoán điều đó có nghĩa là bạn đang chạy trong trình duyệt (mặc dù nó không nhất thiết phải như vậy). Và khi bạn lưu trữ tệp XML, bạn muốn lưu trữ nó ở đâu? (Trong hệ thống tập tin của máy tính mà trình duyệt đang chạy? Tại máy chủ nơi trang được phục vụ?) –

+0

tôi cần lưu trữ nó trên máy chủ .. – Avinash

1

Trong IE, bạn có thể thao tác XML bằng ActiveX.
Ngoài ra còn có một đối tượng tích hợp cho FF và các trình duyệt tuân thủ W3C khác.
Tôi khuyên bạn nên xem this article.

+0

Bài viết hay nhờ nó dạy tôi rất nhiều .. – Avinash

8

tôi đã tìm thấy hàm constructor XMLWriter Ariel Flesler để có một khởi đầu tốt cho việc tạo ra XML từ đầu, hãy nhìn vào

http://flesler.blogspot.com/2008/03/xmlwriter-for-javascript.html

Ví dụ

function test(){  
    var v = new XMLWriter(); 
    v.writeStartDocument(true); 
    v.writeElementString('test','Hello World'); 
    v.writeAttributeString('foo','bar'); 
    v.writeEndDocument(); 
    console.log(v.flush()); 
} 

Kết quả này

<?xml version="1.0" encoding="ISO-8859-1" standalone="true" ?> 
<test foo="bar">Hello World</test> 

Một lưu ý cần lưu ý là tôi t không thoát khỏi dây.

Xem thêm Libraries to write xml with JavaScript

+0

cách lưu tệp xml này hoặc nơi tệp sẽ được lưu trong mặc định –

+0

Phiên bản cập nhật của thư viện được duy trì tại: https://github.com/alexandern/XMLWriter – koppor

1

tôi đã tạo ra hai chức năng như sau:

function loadXMLDoc(filename){ 
    if (window.XMLHttpRequest){ 
     xhttp=new XMLHttpRequest(); 
    } 
    else { 
    xhttp=new ActiveXObject("Microsoft.XMLHTTP"); // code for IE 5-6 
    } 
    xhttp.open("GET",filename,false); 
    xhttp.send(); 
    return xhttp.responseXML; 
} 

Và, để viết XML vào một tập tin địa phương gọi hàm sau.

function writeXML() 
    { 
     var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
     var fso = new ActiveXObject("Scripting.FileSystemObject"); 
     var FILENAME="D:/YourXMLName/xml"; 
     var file = fso.CreateTextFile(FILENAME, true); 
     file.WriteLine('<?xml version="1.0" encoding="utf-8"?>\n'); 
     file.WriteLine('<PersonInfo>\n'); 
     file.WriteLine('></Person>\n'); 
     } 
     file.WriteLine('</PersonInfo>\n'); 
     file.Close(); 
    } 

Tôi hy vọng điều này sẽ giúp, nếu không bạn có thể thử Ariel Flesler's XMLWriter để tạo XML trong bộ nhớ.

Các vấn đề liên quan