我遇到了问题,这与这个问题类似:
Can't get element javascript google apps script
好吧,我正在使用DOM
方法解析xml文件。在我将xml元素<link>
推入之前,我没有遇到任何问题。当我把一个随机链接我没有问题。但如果我插入我的xml文件的一个真正的链接出错了。
Ι将您的一个真实链接:<link>http://www.metar.gr/index.php?option=com_jumi&fileid=12&Itemid=73&station=1483</link>
并置。
任何想法出了什么问题?
这是我的代码:
downloadUrl("moredata.xml", function(data) {
var items = data.documentElement.getElementsByTagName("item");
for (var i = 0; i < items.length; i++) {
var description = items[i].getElementsByTagName("description")[0].innerHTML;
var temp = items[i].getElementsByTagName("temp")[0].innerHTML;
var title = items[i].getElementsByTagName("title")[0].innerHTML;
var windSpeed = items[i].getElementsByTagName("windSpeed")[0].innerHTML;
var dailyRain = items[i].getElementsByTagName("dailyRain")[0].innerHTML;
var latlng = new google.maps.LatLng(parseFloat(items[i].getElementsByTagName("glat")[0].innerHTML),
parseFloat(items[i].getElementsByTagName("glon")[0].innerHTML));
}
})
和moredata.xml
文件:
<item>
<description>Giannena</description>
<glat>39.62209843837158</glat>
<glon>20.89027225971222</glon>
<title>ipiros</title>
<temp>-16.9°C</temp>
<dailyRain>0.0 mm</dailyRain>
<windSpeed>10 km/hr</windSpeed>
<fire>2</fire>
<outsideHumidity>88 %</outsideHumidity>
<link>
http://this_is_the_link.com
</link>
</item>
<item>
<description>Athina</description>
<glat>38.08469095792561</glat>
<glon>23.680233657360077</glon>
<title>sterea</title>
<temp>45°C</temp>
<dailyRain>0.0 mm</dailyRain>
<windSpeed>97 km/hr</windSpeed>
<fire>3</fire>
<outsideHumidity>99 %</outsideHumidity>
<link>
http://this_is_the_other_link.com
</link>
</item>
答案 0 :(得分:0)
我想问题正在发生,因为您没有正确解析 XML 响应......
试试这个:
downloadUrl("moredata.xml", function(data) {
xmlDoc=data.responseXML;
var items = xmlDoc.documentElement.getElementsByTagName("item");
for (var i = 0; i < items.length; i++) {
var link = items[i].getElementsByTagName("link")[0].innerHTML;
}
})
答案 1 :(得分:0)
经过大量搜索后,我发现元素<link>
中的网址包含符号字符 - &gt; &放;.
&符号(&
)是xml的特殊字符。所以我替换了'&
' - &gt; '&
'
但我无法编辑动态xml文件
这是一个类似的问题:how to escape xml entities in javascript?
我正在尝试在我的javascript文件中创建一个函数来替换动态,<link>
元素的所有网址都是'&amp; '到'&
'
任何想法,建议,例子将不胜感激!