Библиотеки для написания XML с JavaScript - PullRequest
10 голосов
/ 01 ноября 2010

Я делаю кодирование на стороне сервера с помощью JavaScript (node.js), и я хотел бы написать действительный xml.

Я нашел две библиотеки, но я уверен, что их больше / лучше!?

Требования: с открытым исходным кодом (длякоммерческое использование)

Было бы здорово, если бы проект был быстрым, небольшим и простым в использовании (в таком порядке).И я хотел бы иметь немного более низкий уровень доступа аля

doc.addElement('xy').addAttr('name', 'bob');

Ответы [ 5 ]

3 голосов
/ 15 июля 2014

Я создал две функции следующим образом:

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;
}

И, чтобы записать XML в локальный файл, вызовите следующую функцию.

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();
    } 

Я надеюсь, это поможет, иначе вы можете попробовать XMLWriter Ариэля Флезлера для создания XML в памяти.

2 голосов
/ 08 февраля 2011

Я недавно выпустил node-genx , обертку вокруг маленькой C-библиотеки под названием Genx , которая обеспечивает быструю и правильную генерацию XML в файле node.js.

Установка просто:

npm install genx

Я опубликовал несколько примеров его использования для создания канала Atom и потока Sphinx xmlpipe2 в моем блоге.

2 голосов
/ 01 ноября 2010

Существует несколько библиотек XML для node.js, перечисленных в http://github.com/ry/node/wiki/modules#parsers-xml

Если память служит, то наибольшее сцепление имеет значение http://github.com/polotek/libxmljs,, которое, по-видимому, лицензировано MIT.

1 голос
/ 26 февраля 2011

Я обнаружил, что функция конструктора XMLWriter Ариэля Флезлера - хорошее начало для создания XML с нуля (в памяти), посмотрите на это

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

Пример

function test(){    
   // XMLWriter will use DOMParser or Microsoft.XMLDOM
   var v = new  XMLWriter();
   v.writeStartDocument(true);
   v.writeElementString('test','Hello World');
   v.writeAttributeString('foo','bar');
   v.writeEndDocument();
   console.log( v.flush() );
}

Результат

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

Несколько предостережений, он не экранирует строки и синтаксис может сделать койот ++ безобразным. Вы можете скачать его с сайта автора или с https://github.com/alexandern/XMLWriter (включает экранирование и исправление ошибки для автономного атрибута)

0 голосов
/ 07 июня 2013

Эта библиотека для Node.js очень стабильна и проста в использовании: https://github.com/minchenkov/simple-xml-writer

...