Generate XML from XMLDocument

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • brad@koehn.com

    Generate XML from XMLDocument

    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

    #2
    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.XMLHT TP 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.XMLHT TP');
    }
    if (httpRequest) {
    httpRequest.ope n('POST', 'XMLLoader.asp' , true);
    httpRequest.onr eadystatechange = function (evt) {
    if (httpRequest.re adyState == 4) {
    if (httpRequest.st atus == 200) {
    // process response here e.g.
    // process httpRequest.res ponseXML
    }
    else .... handle other response status if needed
    }
    };
    httpRequest.sen d(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() .serializeToStr ing(xmlDocument );


    --

    Martin Honnen

    Comment

    Working...