iOS, iPhone, iPad, iPod > ZIP и Nimblekit - дрессировка.

Рейтинг:   / 4
ПлохоОтлично 

Как быть?

дело в том, что XML, это такое затратное дело, что мне как-то не хочется связываться со всеми эти болшими библиотеками, учитывая, что размеры ОЗУ, у нас ну ни как не соизмеримы с таковыми у personal PC, т.е. у песоналок.

Вот и озаботился я вопросом: как и рыбку съесть и на ёлочку залесть, а точнее

  • как минимизировать разработку?
  • как избежать разбора XML средствами JavaScript?
  • как автоматизировать процесс получения данных, сериализованных в XML, в JavaScript?

Решение, в принципе, представленное на сайте Штефана Гёсснера мне подходит. Осталось его испробовать в бою (найти бы время на все эти пробы).

Что нам предложено? Надо скачать вот это:

json2xml.js 1k
xml2json.js 6k
xmljson_test.html 3k

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

function xml2json( xml,   // element or document DOM node
                   tab)   // tab or indent string for pretty output formatting
                          // omit or use empty string "" to supress.
                          // returns JSON string

function json2xml( obj// javascript object
                   tab// tab or indent string for pretty output formatting
                         // omit or use empty string "" to supress.
                         // returns XML string

Xmljson_test.html тестовое приложение, которое использует XML-строки, которые должны быть пропарсены в первую очередь.

function parseXml(xml) {
   var dom = null;
   if (window.DOMParser) {
      try {
         dom = (new DOMParser()).parseFromString(xml, "text/xml");
      }
      catch (e) { dom = null; }
   }
   else if (window.ActiveXObject) {
      try {
         dom = new ActiveXObject('Microsoft.XMLDOM');
         dom.async = false;
         if (!dom.loadXML(xml)) // parse error ..

            window.alert(dom.parseError.reason + dom.parseError.srcText);
      }
      catch (e) { dom = null; }
   }
   else
      alert("cannot parse xml string!");
   return dom;
}