Как оформить элементы XML отдельно от цикла JavaScript XPath? - PullRequest
0 голосов
/ 01 декабря 2011

Итак, я пытаюсь извлечь выбранные данные из 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...