Нужна помощь в разборе XML с JavaScript - PullRequest
0 голосов
/ 20 февраля 2012

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

<!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="customerservice@fsig.com" 
url="http://www.fsig.com" 
address="5000 Barcilona Beach Rd. Wilmington, NC 28000">
</item>
</Contacts>

1 Ответ

1 голос
/ 20 февраля 2012

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

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

node.attributes["url"].nodeValue

Так что просто переберите все элементы, затем я просто скопирую itemelem[t] в node, чтобы было проще, и вы получите нужные вам атрибуты.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...