का उपयोग कर पार्स एक्सएमएल मुझे जावास्क्रिप्ट का उपयोग करके एक्सएमएल पार्स करने में सक्षम होना चाहिए। एक्सएमएल एक चर में होगा। मैं jQuery या अन्य ढांचे का उपयोग नहीं करना पसंद करूंगा।जावास्क्रिप्ट
मैंने इसे देखा है, XML > jQuery reading।
का उपयोग कर पार्स एक्सएमएल मुझे जावास्क्रिप्ट का उपयोग करके एक्सएमएल पार्स करने में सक्षम होना चाहिए। एक्सएमएल एक चर में होगा। मैं jQuery या अन्य ढांचे का उपयोग नहीं करना पसंद करूंगा।जावास्क्रिप्ट
मैंने इसे देखा है, XML > jQuery reading।
मैं आपके last question से अनुमान लगा रहा हूं, इस से 20 मिनट पहले पूछा गया था कि आप GeoNames 'FindNearestAddress का उपयोग करके एक्सएमएल को पार्स (पढ़ और परिवर्तित) करने का प्रयास कर रहे हैं।
अपने XML txt
कहा जाता है एक स्ट्रिंग चर में है और इस तरह दिखाई देता है:
<address>
<street>Roble Ave</street>
<mtfcc>S1400</mtfcc>
<streetNumber>649</streetNumber>
<lat>37.45127</lat>
<lng>-122.18032</lng>
<distance>0.04</distance>
<postalcode>94025</postalcode>
<placename>Menlo Park</placename>
<adminCode2>081</adminCode2>
<adminName2>San Mateo</adminName2>
<adminCode1>CA</adminCode1>
<adminName1>California</adminName1>
<countryCode>US</countryCode>
</address>
तो फिर तुम इस तरह जावास्क्रिप्ट डोम के साथ XML को पार्स कर सकते हैं:
if (window.DOMParser)
{
parser = new DOMParser();
xmlDoc = parser.parseFromString(txt, "text/xml");
}
else // Internet Explorer
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(txt);
}
और से विशिष्ट मूल्यों को प्राप्त इस तरह के नोड्स:
//Gets house address number
xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue;
//Gets Street name
xmlDoc.getElementsByTagName("street")[0].childNodes[0].nodeValue;
//Gets Postal Code
xmlDoc.getElementsByTagName("postalcode")[0].childNodes[0].nodeValue;
ध्यान दें कि आप '$ (xmlDoc) .find (' street: eq (0): eq (0) ') जैसे मानों को त्वरित रूप से एक्सेस करने के लिए jquery का उपयोग कर सकते हैं।' XmlDoc.getElementsByTagName ("streetNumber 'के बजाय html()' ") [0] .childNodes [0] .nodeValue;' –
बहुत उपयोगी Enigmadan धन्यवाद! – Andrew
ओपी के अन्य प्रश्नों के उत्तरों को देखकर और एकीकृत करना वह है जो मैं उच्च स्तरीय SO गेम कहता हूं। मैं प्रभावित हूं, अच्छी तरह से किया! – maryisdead
निम्नलिखित इंटरनेट एक्सप्लोरर 6 सहित सभी प्रमुख ब्राउज़रों में एक्सएमएल स्ट्रिंग को एक्सएमएल स्ट्रिंग में पार्स कर देगा। एक बार जब आप इसे प्राप्त कर लेंगे, तो आप सामान्य डीओएम ट्रैवर्सल विधियों/गुणों जैसे कि बाल नोड्स और getElementsByTagName() प्राप्त कर सकते हैं। नोड्स आप चाहते हैं।
var parseXml;
if (typeof window.DOMParser != "undefined") {
parseXml = function(xmlStr) {
return (new window.DOMParser()).parseFromString(xmlStr, "text/xml");
};
} else if (typeof window.ActiveXObject != "undefined" &&
new window.ActiveXObject("Microsoft.XMLDOM")) {
parseXml = function(xmlStr) {
var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.loadXML(xmlStr);
return xmlDoc;
};
} else {
throw new Error("No XML parser found");
}
उदाहरण उपयोग:
var xml = parseXml("<foo>Stuff</foo>");
alert(xml.documentElement.nodeName);
कौन सा मैं https://stackoverflow.com/a/8412989/1232175 से मिला है।
मैं ऐप पैकेज करने के लिए फोनगैप का उपयोग करने जा रहा हूं और मुझे नहीं पता कि यह काम करेगा या नहीं। – user2574350