Библиотеки для записи xml с помощью JavaScript

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

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

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

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

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

5 ответов


существует несколько библиотек XML для узла.js указан вhttp://github.com/ry/node/wiki/modules#parsers-xml

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


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

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 в памяти.


Я недавно вышел узел-genx, обертка вокруг небольшой C-библиотеки под названием Genx Это обеспечивает быстрое и допустимое создание xml в узле.js.

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

npm install genx

я опубликовал некоторые примеры его использования для генерации питания атома и xmlpipe2 Сфинкс трансляция на моем блоге.


Я нашел функцию конструктора 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 (включает экранирование и исправление ошибок для автономного атрибута)


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