Библиотеки для записи xml с помощью JavaScript
Я делаю кодирование на стороне сервера с помощью JavaScript (node.js), и я хотел бы написать действительный xml.
Я нашел две библиотеки, но я уверен, что есть больше/лучше!?
- http://goessner.net/download/prj/jsonxml/ (LGPL)
- еще не выпущен:https://sourceforge.net/projects/jsonix (LGPL)
требования: открытым исходным кодом (для коммерческого использования)
было бы здорово, если проект быстрый, маленький и простой в использовании (в этом порядке). И я хотел бы иметь немного более низкий уровень доступа 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