Работа с xml
Добрый день.
Ф-ция преобразования текста в xml документ не корректно работает в одной функции и корректно в другой. var txt = '<?xml version="1.0" encoding="UTF-8"?>' + '<providerlist>' + '<provider >' + '<id >8_Internet7320_590592_2020018409</id>' + '<name >Internet</name>' + '<accountno >2947</accountno>' + '<accountdata >0010000318</accountdata>' + '<utilchannelcode >49</utilchannelcode>' + '<categoryid >32</categoryid>' + '<branchid >93</branchid>' + '</provider>' + '</providerlist>'; function txtToXML(respText) { /* Extract Ajax response text to an XML object */ var xmlobject; if ( respText ) { if ( window.ActiveXObject ) { xmlobject = new ActiveXObject( "Msxml2.DOMDocument" ); xmlobject.loadXML( respText ); } else if ( DOMParser ) { var xmlobject = ( new DOMParser() ).parseFromString(respText, "text/xml" ); } } return xmlobject; } onLoadNotariats( xml ); onLoadMyPayments( xml, 'MyPayments' ); function onLoadNotariats( xml ){ var xmlDoc = txtToXML( xml ); console.log( xmlDoc ); // Document } function onLoadMyPayments( xml, type ) { var xmlDoc = txtToXML( xml ); console.log( xmlDoc ); // Document } |
Цитата:
|
На данный момент ф-ция txtToXML не преобразовывает документ в чьд вообще.
|
Ну если исправить тупую ошибку txt -> xml , то все работает. В любом случае, сама функция работает без всяких правок. Вот только наличие DOMParser надо проверять в первую очередь причем как if (window.DOMParser) ..
var xml = '<?xml version="1.0" encoding="UTF-8"?>' + '<providerlist>' + '<provider >' + '<id >8_Internet7320_590592_2020018409</id>' + '<name >Internet</name>' + '<accountno >2947</accountno>' + '<accountdata >0010000318</accountdata>' + '<utilchannelcode >49</utilchannelcode>' + '<categoryid >32</categoryid>' + '<branchid >93</branchid>' + '</provider>' + '</providerlist>'; function txtToXML(respText) { /* Extract Ajax response text to an XML object */ var xmlobject; if ( respText ) { if ( window.ActiveXObject ) { xmlobject = new ActiveXObject( "Msxml2.DOMDocument" ); xmlobject.loadXML( respText ); } else if ( DOMParser ) { var xmlobject = ( new DOMParser() ).parseFromString(respText, "text/xml" ); } } return xmlobject; } onLoadNotariats( xml ); onLoadMyPayments( xml, 'MyPayments' ); function onLoadNotariats( xml ){ var xmlDoc = txtToXML( xml ); console.log( xmlDoc ); // Document } function onLoadMyPayments( xml, type ) { var xmlDoc = txtToXML( xml ); console.log( xmlDoc ); // Document } А еще непонятно причем тут AJAX.. Тем более что XMLHttpRequest уже возвращает xml (как можно догадаться из названия :) ) |
Часовой пояс GMT +3, время: 23:40. |