2012-07-09 13 views
18

के साथ उपयोग करने का प्रयास कर रहा है, मैं अपने जेएस कोड में डोमपार्सर का उपयोग करने का प्रयास करते समय मुद्दों में भाग रहा हूं। मेरे कोड में, मैं xmlhttp.responseText साबुन प्रतिक्रिया के माध्यम से एक एक्सएमएल फ़ाइल पुनर्प्राप्त करता हूं। मैं, JSON प्रारूप में उसके तत्वों उपयोग करने में सक्षम होना चाहता हूँ तो मेरे कोड की तरह दिखता है:डोडपार्सर को नोड जेएस

var xml = new DOMParser(); 
xml = xml.parseFromString(xmlhttp.responseText, 'text/xml'); 
var result = xmlToJson(xml); 

मैं इस त्रुटि संदेश मिलता है: ReferenceError: DOMParser परिभाषित नहीं है

संपादित करें: यह लिंक hasn ' टी मेरे लिए काम नहीं किया क्योंकि मेरा जावास्क्रिप्ट एचटीएमएल पेज में नहीं है, क्योंकि यह एक node.js फ़ाइल है। JavaScript DOMParser access innerHTML and other properties

उत्तर

12

node.js में कोई DOMParser नहीं है, यह ब्राउज़र की बात है। आप हालांकि इन मॉड्यूल के किसी भी कोशिश कर सकते हैं:

https://github.com/joyent/node/wiki/modules#wiki-parsers-xml

+1

मुझे पता है कि यह धागा पुराना है, लेकिन यहां यह जाता है। नोड के लिए jquery के बारे में क्या? डेटा टाइप xml के साथ एक AJAX कॉल एक एक्सएमएल डोम प्रतिक्रिया प्राप्त करना चाहिए। – amenadiel

+3

लिंक अब और काम नहीं कर रहा है। – Akkumulator

-1
var DOMParser = require('xmldom').DOMParser; 
var doc = new DOMParser().parseFromString(
    '<xml xmlns="a" xmlns:c="./lite">\n'+ 
     '\t<child>test</child>\n'+ 
     '\t<child></child>\n'+ 
     '\t<child/>\n'+ 
    '</xml>' 
    ,'text/xml'); 
3

आप xmldom रूप DOMParser की एक नोड कार्यान्वयन, इस तरह उपयोग कर सकते हैं। यह आपको ब्राउज़र के बाहर DOMParser तक पहुंचने की अनुमति देगा। उदाहरण के लिए:

var DOMParser = require('xmldom').DOMParser; 
var parser = new DOMParser(); 
var document = parser.parseFromString('Your XML String', 'text/xml'); 
+2

यह काम नहीं करता है - एचटीएमएल पेज – DataGreed

+0

xmldom एक पुरानी लाइब्रेरी है जो पार्स करने की कोशिश करते समय बहुत सारी त्रुटि "इकाई नहीं मिली" थूकती है। कोई प्रश्न नहीं चयनकर्ता – benmcdonald

+0

'xmldom' डोमपार्सर के लिए एक गरीब विकल्प है। यह पीयर तत्वों को सही ढंग से पार्स नहीं करता है। –

1

मुझे वास्तव में htmlparser2 पसंद है। यह एक शानदार, तेज़ और हल्के लाइब्रेरी है। मैंने रनकिट पर इसका उपयोग करने के तरीके पर एक छोटा डेमो बनाया है: https://runkit.com/jfahrenkrug/htmlparser2-demo/1.0.0

संबंधित मुद्दे