DocumentBuilder анализирует разрыв строки ('\ n') в XML как узел - PullRequest
0 голосов
/ 01 ноября 2019

sample.xml

...
<parent_tag>
    <child_tag>1</child_tag>
    <child_tag>2</child_tag>
    <child_tag>3</child_tag>
    <child_tag>4</child_tag>
</parent_tag>
...

Попытка разобрать xml выше, используя коды Kotlin ниже.

Parser.kt

import javax.xml.parsers.DocumentBuilderFactory

...

val rootDoc = builder.parse(activity.resources.assets.open("sample.xml"))
val doc = rootDoc.documentElement
val children = doc.getElementsByTagName("parent_tag").item(0).childNodes

...

Но children.length возвращает 9.

Я полагаю, это потому, что синтаксический анализатор считает разрыв строки между тегами узлом.

(\ n, 1, \ n, 2, \ n, 3, \ n, 4, \ n)

Когда я удаляю все пустое пространство, как это, он работает хорошо. (children.length равно 4.)

...
<parent_tag><child_tag>1</child_tag><child_tag>2</child_tag>...</parent_tag>
...

Есть ли правильный способ предотвратить синтаксический анализатор, считающий разрыв строки (новую строку) как узел?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...