JavaScript를 사용하여 XML을 구문 분석 할 수 있어야합니다. XML은 변수에 포함됩니다. 나는 jQuery 나 다른 프레임 워크를 사용하지 않는 것을 선호한다.JavaScript를 사용하여 XML을 구문 분석하십시오.
나는 이것을 보았다 : XML > jQuery reading.
JavaScript를 사용하여 XML을 구문 분석 할 수 있어야합니다. XML은 변수에 포함됩니다. 나는 jQuery 나 다른 프레임 워크를 사용하지 않는 것을 선호한다.JavaScript를 사용하여 XML을 구문 분석하십시오.
나는 이것을 보았다 : XML > jQuery reading.
last question에서 20 분 전에 GeoNames의 FindNearestAddress를 사용하여 찾은 XML을 구문 분석 (읽기 및 변환)하려고한다고 추측합니다.
당신의 XML은 txt
라는 문자열 변수에이처럼 보이는 경우
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);
}
을 그리고에서 특정 값을 얻을 :
<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>
그런 다음이 같은 자바 스크립트 DOM으로 XML을 구문 분석 할 수 노드는 다음과 같습니다 :
//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;
jquery를 사용하면 'xmlDoc.getElementsByTagName ("streetNumber()) 대신'$ (xmlDoc) .find ('길 : eq (0) : eq (0) ") [0] .childNodes [0] .nodeValue; ' –
매우 도움이 됨 Enigmadan thanks! – Andrew
OP의 다른 질문의 답을 찾고 통합하면 내가 고수준 SO 게임이라고 부르는 것입니다. 나는 감명 받았다, 잘하게된다! – maryisdead
다음은 Internet Explorer 6을 포함하여 모든 주요 브라우저에서 XML 문자열을 XML 문서로 구문 분석합니다. 일단이를 사용하면 childNodes 및 getElementsByTagName()과 같은 일반적인 DOM 통과 메소드/속성을 사용하여 원하는 노드.
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);
PhoneGap을 사용하여 앱을 패키징 할 수 있으며 작동하는지 알 수 없습니다. – user2574350