Динамически загружать XML с помощью стилей CSS

1

Я хочу загрузить XML файл и его таблицы стилей CSS в textarea или div. Каждый XML файл имеет таблицы стилей CSS, которые отображают его правильно:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="first.css"?>
<?xml-stylesheet href="second.css"?>
<book>
  <sentence>
  !!! SNIP !!!

Если я загружу файл непосредственно в веб-браузер, набрав его URL-адрес в адресной строке, он отображается правильно, включая все стили. Теперь я хочу отобразить его так же, загружая его динамически.

Я попробовал несколько вариантов этого, например

<textarea id="display">
</textarea>

$.ajax({
    type: "GET",
    url: "https://raw.githubusercontent.com/someplace/my.xml",
    dataType: "text",
    success: function(xml) {
        alert("GET succeeded")
        var xmlDoc = $.parseXML(xml);
        document.getElementById("display").append(xmlDoc.childNodes);    
    }
}); 

Я не могу понять, как динамически применять стили к анализируемому XML-документу и отображать его. Я не хочу преобразовывать его в HTML, я просто хочу показать те же самые документы, которые уже правильно отображаются в веб-браузере.

Кто-нибудь знает, как это сделать?

Теги:
dom

1 ответ

1
Лучший ответ

Точка XML и CSS заключается в том, что она отлично отображается в браузере. Но почему в textarea? Вы могли бы отображать его вместо тега iframe, если тег, в котором он отображается, не имеет большого значения. Изменяя атрибут src этого iframe, вы можете загружать его динамически.

  • 0
    Спасибо - я попробую. Мне все равно, что это за тег, пока он работает. Я слышал, что люди говорят, что следует избегать фреймов, но я не уверен, почему.
  • 0
    iframe - это, по сути, другое окно браузера, отображаемое на той же странице. Люди пытались обмануть пользователей разными способами, и использование iframe - один из них, он не показывает действительный адрес, который он использует для пользователя через адресную строку. Но это не причина избегать этого, если у вас есть хороший вариант использования.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню