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