Самый простой способ разобрать XML в XHTML для применения CSS - PullRequest
4 голосов
/ 03 февраля 2012

Мне интересно, как я могу анализировать XML-документы, возвращаемые поиском, чтобы я мог стилизовать их с помощью CSS на веб-сайте.Я предполагаю, что мне нужно сначала немного преобразовать XML в xhtml, а затем соответствующим образом оформить элементы.Мне нужно, чтобы они отображали xhtml.

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

Любое понимание было бы здорово, спасибо!

D

1 Ответ

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

Если вы импортируете XML через AJAX, вам нужно сделать всего несколько ключевых вещей ...

1.) Самому родительскому элементу требуется пространство имен XML ...

<div id="ajax_search_result1" xmlns="http://www.w3.org/1999/xhtml">

2.) Используйте стандартные методы W3C (appendChild, importNode, responseXML) и НЕ проприетарные методы Microsoft (innerHTML, responseText), иначе ваше приложение будет обрабатываться как текст блокнота вместо реального приложения. Вот примерно так выглядит код ...

if (window.XMLHttpRequest) {var xmlhttp = new XMLHttpRequest();}
else if (window.ActiveXObject) {try {xmlhttp = new ActiveXObject('Msxml2.XMLHTTP')} catch (e) {try{xmlhttp = new ActiveXObject('Microsoft.XMLHTTP')} catch (e){}}}

xmlhttp.open('GET',url,true);
xmlhttp.send(null);

xmlhttp.onreadystatechange=function()
{
 if (xmlhttp.readyState=='4')
 {
  var xmlDoc=xmlhttp.responseXML;
  document.importNode(xmlDoc.getElementsByTagName('div')[0],true),id_container_obj);
 }

Используя правильный код, у вас не возникнет проблем с оформлением импортированного XHTML. Для демонстрации в режиме реального времени посетите мой сайт в моем профиле, а затем в правом верхнем углу нажмите на опции сайта.

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