не работает getElementsByTagName( 'Field' )
помогите, пожалуйста!
есть xml вида <Receipt> <Field> <Text>значение1</Text> </Field> <Field> <Text>значение2</Text> </Field> </Receipt> задача- вытащить поля "значение1" и "значение2". пробую сделать это так var textfield = receipt[a].getElementsByTagName( 'Field' ); for( var b = 0; b < textfield.length; b++ ) { txtString += textfield[b].getElementsByTagName('Text')[0].childNodes[0].nodeValue + " \n "; } не работает, вероятно из-за большой буквы F в 'Field' ( если поставить в xml и в коде 'field', то все работает, но xml-ку изменить не могу) Вопрос - почему не работает getElementsByTagName( 'Field' ); и как это исправить, не затрагивая текст исходного xml? |
AlaP,
textfield.length чему равно? |
var receipt = xmlDoc.getElementsByTagName( 'Receipt' );
for ( var a = 0; a < receipt.length; a++) { var textfield = receipt[a].getElementsByTagName( 'field' ); for( var b = 0; b < textfield.length; b++ ) {...}} т е, если я все правильно делаю(и понимаю), textfield.length =2 |
AlaP,
А вы в консоль фактическое значение выведите. |
кстати, вот на этом куске кода выдается : Microsoft JScript runtime error: Object required
но если написать var textfield = receipt[a].getElementsByTagName( 'field' ); (и, соответсвенно, поменять в исходной xml заглавную букву на строчную), то все работает. к сожалению такой вариант мне не подходит из-за огромного количества данных. в общем, поэтому и возник вопрос (теоретической базы у меня маловато). |
Цитата:
|
AlaP,
txtString += textfield[b].getElementsByTagName('Text')[0].textContent + " \n "; |
Цитата:
innerText тоже пробовала. результат тот же. |
AlaP,
<?xml version="1.0" encoding="UTF-8"?> <recipe type="dessert"> <Receipt> <Field> <Text>значение1</Text> </Field> <Field> <Text>значение2</Text> </Field> </Receipt> </recipe> <script> var txtString =''; var textfield = document.getElementsByTagName( 'Field' ); for( var b = 0; b < textfield.length; b++ ) { txtString += textfield[b].getElementsByTagName('Text')[0].textContent + " \n "; } alert(txtString) </script> |
Цитата:
тогда есть еще вопрос - может такая ошибка быть из-за того, что я запускаю через отдельный файл(example.js) и потом пытаюсь записать результаты в txt? |
Часовой пояс GMT +3, время: 06:53. |