Итак, я пытаюсь извлечь выбранные данные из XML-файла, используя xpath (javascript на html-странице). Единственная проблема, с которой я сталкиваюсь: найти способ стилизовать каждое значение индивидуально, а не (в настоящее время) иметь возможность стилизовать весь поток сразу.
Я предполагаю, что это просто вопрос понимания циклов javascript, но я был бы признателен за любую быструю помощь, которую вы можете оказать. Спасибо.
XML-файл в основном такой: http://www.w3schools.com/xml/cd_catalog.xml
Вот код XPath / js:
<script type="text/javascript">
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}
xml=loadXMLDoc("catalog.xml");
path="/catalog/cd[year=1985]/title | /catalog/cd[year=1985]/company | /catalog/cd[year=1985]/country";
// code for IE
if (window.ActiveXObject)
{
var nodes=xml.selectNodes(path);
for (i=0;i<nodes.length;i++)
{
document.write("<font color=\"red\">");
document.write(nodes[i].childNodes[0].nodeValue);
document.write("</font>");
document.write("<hr>");
}
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
var nodes=xml.evaluate(path, xml, null, XPathResult.ANY_TYPE,null);
var result=nodes.iterateNext();
while (result)
{
document.write("<strong>");
document.write(result.childNodes[0].nodeValue);
document.write("</strong>");
document.write("<br />");
result=nodes.iterateNext();
}
}
</script>