Connecting Tech Pros Worldwide Forums | Help | Site Map

Generate XML from XMLDocument

brad@koehn.com
Guest
 
Posts: n/a
#1: Jul 23 '05
I have an XMLDocument that my web page downloads and manipulates as a
response to user input. I have lots of JavaScript that acts as a
controller between my view (html) and my model (xml). That works fine.

Once the user's done editing, I want to send the modified XMLDocument
back up to my server (as XML). The problem is, I can't find a way to
use JavaScript to generate XML from an XMLDocument. Is there some
obvious API that I'm missing? I assume there's more than one way to do
it (one way for IE and one way for Mozilla, who knows how many others),
anybody want to share?


Martin Honnen
Guest
 
Posts: n/a
#2: Jul 23 '05

re: Generate XML from XMLDocument




brad@koehn.com wrote:
[color=blue]
> I have an XMLDocument that my web page downloads and manipulates as a
> response to user input. I have lots of JavaScript that acts as a
> controller between my view (html) and my model (xml). That works fine.
>
> Once the user's done editing, I want to send the modified XMLDocument
> back up to my server (as XML). The problem is, I can't find a way to
> use JavaScript to generate XML from an XMLDocument. Is there some
> obvious API that I'm missing?[/color]

I think so, XMLHttpRequest in Mozilla browsers (Mozilla suite, Firefox,
Netscape 6/7), in latest Safari and Konqueror, and Microsoft.XMLHTTP in
IE 5/5.5/6 on Windows simply lets you pass in your XML document as a
parameter to the send method e.g.
var httpRequest;
if (typeof XMLHttpRequest != 'undefined') {
httpRequest = new XMLHttpRequest();
}
else if (typeof ActiveXObject != 'undefined') {
httpRequest = new ActiveXObject('Microsoft.XMLHTTP');
}
if (httpRequest) {
httpRequest.open('POST', 'XMLLoader.asp', true);
httpRequest.onreadystatechange = function (evt) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
// process response here e.g.
// process httpRequest.responseXML
}
else .... handle other response status if needed
}
};
httpRequest.send(xmlDocument);
}

See
<http://www.faqts.com/knowledge_base/view.phtml/aid/17226/fid/616>
for details.

If you need to serialize an XML document to a string (that is not needed
for the above, XMLHttpRequest's send method simply needs the document
object) then with MSXML there is the property named xml for DOM nodes thus
var xmlString = xmlDocument.xml;
gives you the serialized XML as a string, with Mozilla you have
XMLSerializer e.g.
var xmlString = new XMLSerializer().serializeToString(xmlDocument);


--

Martin Honnen
http://JavaScript.FAQTs.com/
Closed Thread