2011-06-05 24 views
10

Standart W3C DOM API'lerini kullanarak bir XML belgesini değiştirmek için bazı kodlar yazdım. Tarayıcı ortamında iyi çalışır ve node.js. altında çalışmak istiyorum. Ne yazık ki, standart W3C DOM API'lerini uygulayan çalışan bir node.js kütüphanesi bulamadım. İşte ben denedim kütüphaneler şunlardır:Node.js kitaplığı?

  • node-o3-xml - segfaults on parse
  • node-o3-fastxml - on çalışma sırasında parçalama arızası ayrıştırma
  • libxmljs - Standart W3C DOM API'leri
  • jsdom kullanmaz - HTML DOM yerine XML DOM daha kullanır (örneğin, element.tagName, büyük/küçük harfe duyarlı formu yerine büyük harf formunu döndürecektir)

Aynı işlevi yerine getirmek için farklı bir API kullanarak ikinci bir uygulama yazabilirim, ancak bu standart arabirimleri ortaya çıkaracak bir kitaplık bulmayı tercih ediyorum, böylece aynı kodu her iki bağlamda da kullanabilirim. W3C DOM API'sini uygulayan çalışan bir node.js kitaplığı var mı?

+0

o3-xml düğümü 0.4.x. üzerinde benim için çalıştı

iyi şanslar Şimdi bunu 0.6.8 üzerinde çalışıyorum ayrıştırmak segfaults - https://github.com/ajaxorg/node-o3-xml/issues/23 – kangax

+0

BTW win64 ikili yok, hata alıyorum:% 1 geçerli bir Win32 uygulaması değil: o3-win32.node –

cevap

4

Cloud9, node-o3-xml kullanır, ancak Mac üzerinde geliştirirken, onunla korkunç bir zaman geçirdim. #nodejs IRC odasındaki bazı milletlerle konuştum ve yaygın tercih libxmljs gibi görünüyordu. Bunu kendim kullandım ve iyi çalışıyor gibi görünüyor, ancak W3C DOM API'sı değil.

7

XMLDOM iyi bir seçim olabilir, bu kadar bir W3C standardı tabanlı DOMParser ve XMLSerializer (DOM Düzey2 CORE)

+1

'xmldom' xpath desteğine sahip değil. –

+0

'xmldom'' 'bildirimlerini desteklemiyor. –

+0

// xpath2 xmldom kullanarak hedef belge olarak (https://github.com/jindw/xmldom) https://github.com/ilinsky/xpath.js, ancak libxmljs'i arardım, xpath'i var ve xslt bunun için mevcut da –