回答
我从你的last question猜测,在这个问题发生前20分钟,你试图解析(读取和转换)通过使用GeoNames的FindNearestAddress找到的XML。
如果你的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>
然后你就可以用JavaScript DOM解析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;
请注意,您可以使用jquery快速访问值,如$(xmlDoc).find('street:eq(0):eq(0)')。html()'而不是'xmlDoc.getElementsByTagName(“streetNumber “)[0] .childNodes [0] .nodeValue;' –
非常有帮助Enigmadan谢谢! – Andrew
查找和整合OP的其他问题的答案就是我所说的高级SO游戏。我印象深刻,做得好! – maryisdead
以下将在所有主流浏览器(包括Internet Explorer 6)中将XML字符串解析为XML文档。一旦拥有了这些,就可以使用常用的DOM遍历方法/属性(如childNodes和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);
- 1. 解析XML的使用Javascript
- 2. 使用jquery javascript解析xml
- 3. XML解析使用javascript
- 4. 用JavaScript解析XML?
- 5. 用Javascript解析XML
- 6. Javascript XML解析
- 7. 用Javascript解析xml文档
- 8. Javascript XML解析器
- 9. Javascript和xml解析
- 10. 解析XML的JavaScript
- 11. JavaScript的XML解析
- 12. 从javascript解析XML
- 13. 使用Javascript解析XML数据
- 14. 如何使用JavaScript DOM解析此XML?
- 15. 使用XPath和Javascript解析XML
- 16. 如何使用javascript解析xml?
- 17. 使用JavaScript解析XML文件
- 18. 使用JavaScript解析XML字符串
- 19. 如何使用XML解析childrenNodes javascript
- 20. 使用Javascript的解析器XML数据
- 21. 使用javascript解析XML属性值
- 22. 在html中使用JavaScript解析XML
- 23. 使用XML解析Python XML
- 24. 使用Simple XML解析XML
- 25. 使用xml解析
- 26. 使用android sax解析器解析XML
- 27. 使用sax解析器解析XML
- 28. 在javascript中解析XML而不使用浏览器特定的xml解析器?
- 29. 解析使用Javascript
- 30. 使用Javascript解析
我可能会使用PhoneGap来打包应用程序,我不知道这是否可行。 – user2574350