[英]Cannot parse <link> element from xml with dom
我遇到了一個問題,它類似於以下問題:
無法獲取元素javascript Google Apps腳本
好吧,我正在使用DOM
方法解析一個xml文件。直到將元素<link>
放入xml之前,我沒有任何問題。 當我放置一個隨機鏈接時,我沒有問題。但是,如果我插入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>
我猜發生了問題,因為您沒有正確解析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;
}
})
經過大量搜索后,我發現元素<link>
的網址包含&字符->&。
“ &
( &
)是xml的特殊字符。 所以我替換了' &
'->' &
'。
但是我無法編輯動態xml文件 。
這是一個類似的問題: 如何在javascript中轉義xml實體?
我正在嘗試在我的JavaScript文件中創建一個函數,以替換dynamic,對於<link>
元素的所有網址,“&”至“ &
'。
任何想法,建議,例子將不勝感激!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.