我在解析我的xml时遇到了一些问题,要在谷歌地图中作为标记覆盖,首先,我有一个像这样的XML文件
<root>
<weather>
<city>city_name</city>
<level>1</level>
<data>weather_data</data>
<lat>-6.211544</lat>
<lon>106.845172</lon>
<elevation>13.41</elevation>
</weather>
</root>
你可以看到我在一个标签内包含必要的数据,而不是属性,问题是,在V2中我使用了GDownloadUrl和GXml parse以及getelementsbytagname方法。在V3中似乎我不能使用GDownloadUrl,我在互联网上看到的所有示例都使用属性解析。有人可以帮忙吗?
答案 0 :(得分:0)
查看geoxml3的来源(polys branch或kmz branch); nodeValue函数,这是来自kmz分支,聚合分支略有不同,要么都可以工作:
/**
* Extract the text value of a DOM node, with leading and trailing whitespace trimmed.
*
* @param {Element} node XML node/element.
* @param {Any} delVal Default value if the node doesn't exist.
* @return {String|Null}
*/
geoXML3.nodeValue = function(node, defVal) {
var retStr="";
if (!node) {
return (typeof defVal === 'undefined' || defVal === null) ? null : defVal;
}
if(node.nodeType==3||node.nodeType==4||node.nodeType==2){
retStr+=node.nodeValue;
}else if(node.nodeType==1||node.nodeType==9||node.nodeType==11){
for(var i=0;i<node.childNodes.length;++i){
retStr+=arguments.callee(node.childNodes[i]);
}
}
return retStr;
}
另一个选择是this从v2实现两个Gxml函数。