Как писать в XML с помощью AJAX / Javascript - PullRequest
0 голосов
/ 12 августа 2011

Я являюсь редактором для CMS. Теперь я хочу создать файл XML и хочу записать содержимое в файл XML

1 Ответ

1 голос
/ 12 августа 2011

JavaScript может очень хорошо обрабатывать XML, на самом деле Ajax (XMLHttpRequest) сначала предназначался для работы с ajax, но позднее преобладал простой текст. Преобразование узла XML в строку

function XMLToStr(xmlNode){
    try{ // Mozilla, Webkit, Opera
        return new XMLSerializer().serializeToString(xmlNode);
    }catch(E) {
        try {  // IE
            return xmlNode.xml;
        }catch(E2){}
    }
}

Преобразование строки в объект XML

function strToXML(xmlString){
    var dom_parser = ("DOMParser" in window && (new DOMParser()).parseFromString) ||
          (window.ActiveXObject && function(_xmlString) {
            var xml_doc = new ActiveXObject('Microsoft.XMLDOM');
            xml_doc.async = 'false';
            xml_doc.loadXML(_xmlString);
            return xml_doc;
        });
    if(!dom_parser){
        return false;
    }
    return dom_parser.call("DOMParser" in window && (new DOMParser()) || window, xmlString, 'text/xml');
}

Использование:

Преобразовать строку в узел XML и извлечь из него некоторые значения

var xml = strToXML('<root><name>abc</name></root>');
console.log(xml.firstChild.nodeName); // root
console.log(xml.firstChild.firstChild.firstChild.nodeValue); // abc

Чтобы загрузить объект XML из вызова Ajax вместо простого текста или JSON, используйте responseXML вместо responseText- единственное предостережение в том, что XML должен быть правильно отправлен с сервера, т.е.тип содержимого должен быть правильным, а XML должен быть действительным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...