Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Парсинг из xml (https://javascript.ru/forum/misc/36343-parsing-iz-xml.html)

danik.js 13.03.2013 14:50

Ну здорово. А в чем сложность?

Vasy 13.03.2013 15:05

если делать так как вы,то оно добавляет только первый заданый стиль тоесть код
var div = document.getElementById('id')
				var decoration = xml.querySelector('style');
				div.style.border = decoration.getAttribute('border');
				
				div.style.height = decoration.getAttribute('hight');

Неимеет смысла так как height уже не будет задаватса как стиль.Ну вернее он почемуто вообще не задаётса никуда.А почему кстате?
а как же задавать всё и тега <style> из хмл?

danik.js 13.03.2013 15:29

<div id="id"></div>
<script>
    var xmlData = '<style border="1px solid red" hight="100px" />';
    var xml = new DOMParser().parseFromString(xmlData, 'application/xml');
    
    var div = document.getElementById('id')
    var decoration = xml.querySelector('style');
    div.style.border = decoration.getAttribute('border');
     
    div.style.height = decoration.getAttribute('hight');
</script>

Vasy 13.03.2013 15:35

а што бы не задавать явно
var xmlData = '<style border="1px solid red" hight="100px" />';

подругому некак нельзя?сейчас же как-бы задаётса на уровне javascript а не подгребаетса из xml?
ну как-бы в этом коде я же не получаю данные из xml?

Vasy 13.03.2013 16:05

Тогда же по сути я могу ничево даже не завать в xml документе а задавать тут.И по сути это получаетса тот же код что и я задам стили в javascript файле.или нет?

Я непойму почему но работает и вот так,если задавать все в xml,для чего тогда в вашем коде присутсвуют строки,вы типа имитируете созданый xml документ?
var xmlData = '<style border="1px solid red" hight="100px" />';

    var xml = new DOMParser().parseFromString(xmlData, 'application/xml');



var div = document.getElementById('id')
				var decoration = xml.querySelector('style');
				div.style.border = decoration.getAttribute('border');
				div.style.width = decoration.getAttribute('width'); 
				div.style.height = decoration.getAttribute('hight');
				div.style.padding = decoration.getAttribute('padding');
				div.style.margin = decoration.getAttribute('margin');
				


		
				
				alert(div.style.margin);

danik.js 13.03.2013 16:35

Цитата:

Сообщение от Vasy
имитируете созданый xml документ

Ну да. Я же не могу тут, на сайте подгрузить твою xml'ку ).
xml instanceof XMLDocument //true

Vasy 13.03.2013 16:51

Понял спасибо большое вам

Vasy 13.03.2013 17:06

А есть ли возможность как-то с помощью функции получать все те же атрибты?тоесть не явно присваивать стилям дива какието данные а с помощью функции,что бы допустим ненужно было добавлять ище строки.

danik.js 13.03.2013 17:12

Зачем ты все усложняешь до такой степени, что сам не понимаешь как реализовать свою задумку?
Можно все в один атрибут засунуть со всеми стилями и присвоить его значение в element.style.cssText.
Можно оставить как есть и проходить циклом по node.attributes (это массиво-подобный объект). attributes[0].name, attributes[0].value и т.д.

Vasy 13.03.2013 17:15

спасибо,буду пробовать.Ну нужно же с чего-то начинать не сразу все понятно и ясно


Часовой пояс GMT +3, время: 10:47.