2012-02-20 2 views
0

Прежде всего позвольте мне поблагодарить вас за помощь, я новичок в Javascript и хочу научиться разбирать файл .xml в своем javascript. Файл, который я хочу проанализировать, - contact.xml, расположенный в моей корневой папке. Еще раз спасибо.Нужна помощь в анализе xml с javascript

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1  /DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script type="text/javascript"> 
function loadXMLDoc(XMLname) 
{ 
var xmlDoc; 
if (window.XMLHttpRequest) 
{ 
xmlDoc=new window.XMLHttpRequest(); 
xmlDoc.open("GET",XMLname,false); 
xmlDoc.send(""); 
return xmlDoc.responseXML; 
} 
// IE 5 and IE 6 
else if (ActiveXObject("Microsoft.XMLDOM")) 
{ 
xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
xmlDoc.async=false; 
xmlDoc.load(XMLname); 
return xmlDoc; 
} 
alert("Error loading document!"); 
return null; 
} 
<title>Contacts</title> 
</script> 
</head> 

<body> 
<script type="text/javascript"> 
xmlDoc = loadXMLDoc("contactinfo.xml") // Path to the XML file; 
var M = xmlDoc.getElementsByTagName("item"); 
for (i=0;i<M.length;i++){ 
document.write("<div style='width:450px;'>") 
document.write("<h2>"+xmlDoc.getElementsByTagName("item")[i].childNodes[0].nodeValue+"</h2>"); 
document.write("<p>" + xmlDoc.getElementsByTagName("servicephone")[i].childNodes[0].nodeValue+ "</p>"); 
document.write("<p><a href='" + xmlDoc.getElementsByTagName("email")[i].childNodes[0].nodeValue +"</p>); 
document.write("</div>") 
} 
</script> 

</body> 
</html> 


*Here is my .xml file* 

<?xml version="1.0" encoding="utf-8" ?> 
<Contacts> 
<item servicephone="(800) 500-0066" 
email="[email protected]" 
url="http://www.fsig.com" 
address="5000 Barcilona Beach Rd. Wilmington, NC 28000"> 
</item> 
</Contacts> 
+0

Вопросы обычно имеют '?' В них и объясняют, в чем проблема. Проводка стены с кодом «нужна помощь», и ничто другое не поможет. –

+0

@marc Прошу прощения. Основной проблемой моей проблемы является то, что я получаю белый экран вместо информации в .xml. Поэтому мой вопрос в основном, глядя на мое кодирование, где я могу его улучшить, чтобы вернуть правильную информацию из файла contactinfo.xml? –

+0

Начните с некоторой отладки, например, видя, что такое 'M.length'. Прямо сейчас ваш сценарий не имеет видимых результатов, кроме того, что должен генерировать javascript. Затем начните откат и выясните, почему это 0. –

ответ

1

Вам нужно идти вниз по иерархии, поэтому, сначала найти Contacts узел, то внутри там вы можете получить все тэги, как у вас есть.

У вас есть много атрибутов, так что вы можете найти это полезно также:

node.attributes["url"].nodeValue 

Так просто цикл по всем пунктам, то я бы просто скопировать itemelem[t] в node только, чтобы сделать его проще, то вы получите необходимые атрибуты.

В зависимости от того, какой браузер вы используете, большинство из них поставляется с некоторым отладчиком javascript, поэтому вы можете установить точки останова и посмотреть значения в переменных и посмотреть, что должен сделать следующий шаг.

Смежные вопросы