работа с 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, время: 11:03. |