Вопрос

У меня есть вопрос о разборе XML. Я экспериментировал с образцом программы и немного изменил ее, чтобы попытаться понять, как работает диапазон, однако я столкнулся с результатом, который я не совсем понимаю, и надеюсь, что некоторые из вас могут пролить свет на то, что может происходить.

Это мой XML -файл:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root xmlns="http://www.test.com">
   <ApplicationSettings>
           <option_a>"10"</option_a> 
           <option_b>"24"</option_b>
   </ApplicationSettings>
</root>

Я вставил отладки на протяжении всей моей программы, чтобы попытаться понять, что происходит, когда функции вызовы, такие как процессы getChildNodes (), как это называется. Это выход, который я получил:

Parsing xml file...
Processing Root...
Processing children with getChildNodes()...
>>>>>>>>>>> Loop child 0: Node name is: #text
>>>>>>>>>>> Loop child 1: Node name is: ApplicationSettings
= ApplicationSettings processing children with getChildNodes()...
***** iter 0 child name is #text
***** iter 1 child name is option_a
***** iter 2 child name is #text
***** iter 3 child name is option_b
***** iter 4 child name is #text
>>>>>>>>>>> Loop: 2 Node name is: #text

Из вывода я могу легко сделать это правильно проанализировать мой XML -файл. Тем не менее, я заметил, что программа также обнаружила дополнительные узлы с именем #текст (распечатано с использованием функции getNodeName ()). Мой вопрос: что это делают #текст См. И почему они периодически появляются по всему петлям?

Спасибо!

Это было полезно?

Решение

Те #text Узлы в вашем примере относятся к пробелу между тегами. Например

<root xmlns="http://www.test.com">
   <ApplicationSettings>

Есть линейный корм и четыре пространства между ...com"> а также <App....

Вы можете попытаться проанализировать следующее, чтобы увидеть, что произойдет:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root xmlns="http://www.test.com"><ApplicationSettings><option_a>"10"</option_a><option_b>"24"</option_b></ApplicationSettings></root>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top