Анализатор GWT — XML — не удается прочитать тег

#xml #gwt

#xml #gwt

Вопрос:

Я только что столкнулся с проблемой с gwt xml parser

дело в том…

У меня есть xml, подобный

 <?xml version="1.0" ?>
<A>
<B>
<C>C1</C>
<C>C2</C>
<C>C3</C>
</B>
<B></B>
</A>
<A>
</A>
 

и код gwt…

 Document document = XMLParser.parse(xml);
NodeList nl= document.getElementsByTagName("A");
Window.alert("threads length = " nl.getLength());
 

по какой-то причине nl.getLength() возвращает 0, что означает отсутствие тега:( Почему это может произойти и как правильно получить структуру xml?

Приветствуется любой полезный комментарий

Комментарии:

1. Строго говоря, XML-документ может содержать только один узел элемента верхнего уровня (или «корневой»). У этого есть два. Однако это не ответ, потому что я уверен, как XMLParser будет обрабатываться несколько недопустимая разметка 🙂

2. 1 @pst … О 🙂 Спасибо. Я думаю, это была проблема. Я удалил дополнительную пару тегов, и все заработало 🙂

3. Помимо того, что входные данные не являются правильно сформированным XML, другим важным фактором является то, что (я считаю) XMLParser от GWT на самом деле является оболочкой вокруг синтаксического анализатора XML, предоставляемого реализацией синтаксического анализатора XML на Javascript в браузере. Поэтому может быть важно знать, какой браузер вы использовали.

Ответ №1:

Итак, чтобы закрыть этот вопрос…

Строго говоря, XML-документ может содержать только один узел элемента верхнего уровня (или «корневой»). У этого есть два.

XMLParser по-видимому, будет «работать некорректно» для этого искаженного ввода XML <— пожалуйста, не стесняйтесь добавлять подробности здесь или в комментарии 🙂

Счастливого кодирования.