работа с XML
можно ли взять XML и в JSON или в Object превратить?
что-то вроде: ИЗ Код:
<?xml version="1.0"?>В
{
names: [
'Igor',
'Gena'
],
text: 'bla-bla-bla'
}
|
через DOM
<?xml version="1.0"?>
<methodResponse>
<names>
<item>
Igor
</item>
<item>
Gena
</item>
</names>
<text>
bla-bla-bla
</text>
</methodResponse>
<script>
window.onload = function () {
var obj = {
names: [],
text: ''
}
var mr = document.getElementsByTagName('methodResponse')[0];
var items = mr.getElementsByTagName('names')[0].getElementsByTagName('item');
var len = items.length;
for (var i = 0; i < len; i++) {
obj.names.push(items[i].innerHTML.replace(/\s/g, ''))
}
obj.text = mr.getElementsByTagName('text')[0].innerHTML.replace(/\s/g, '');
alert('names: [' + obj.names + ']\n text: ' + obj.text)
}
</script>
|
Так и я умею:)
А если мы не знаем что находится в XML? |
Тогда надо конкретизировать задачу
|
А общего решения нет? У jQuery или ещё у какой нибудь библиотеки?
|
var XML = (function() {
if ( window.ActiveXObject ) {
return {
newDocument: function() {
return new ActiveXObject( 'MSXML2.DOMDocument' );
},
parse: function( text ) {
var doc = this.newDocument();
doc.loadXML( text );
return doc;
}
};
} else {
return {
newDocument: function() {
document.implementation.createDocument( null, null, null );
},
parse: function( text ) {
var parser = new DOMParser();
return parser.parseFromString( text, 'application/xml' );
}
};
}
}());
var xmlDoc = XML.parse( '<?xml version="1.0"?>\
<methodResponse>\
<names>\
<item>Igor</item>\
<item>Gena</item>\
</names>\
<text>\
bla-bla-bla\
</text>\
</methodResponse>' );
debugger;
а, вообще, читаем Фленагана. |
Такие вещи прекрасно гуглятся: /g xml to json javascript .
|
| Часовой пояс GMT +3, время: 02:03. |