O que a org.apache.xmlbeans.XmlException com uma mensagem de “elemento inesperado: CDATA” significa?

StackOverflow https://stackoverflow.com/questions/1407101

Pergunta

Eu estou tentando analisar e carregar um documento XML, porém eu estou recebendo essa exceção quando eu chamo o método de análise sobre a classe que estende XmlObject. Infelizmente, isso me dá nenhuma idéia de qual elemento é inesperado, que é o meu problema.

Eu não sou capaz de compartilhar o código para isso, mas eu posso tentar fornecer mais informações se necessário.

Foi útil?

Solução

Não sendo capaz de dados de código de ação ou de entrada, você pode considerar a seguinte abordagem. Essa é uma abordagem muito comum dicotômica para diagnóstico , estou com medo, e na verdade você pode facilmente ter começado ...

Tente e reduzir o tamanho do XML de entrada através da remoção de partes do mesmo, garantindo que os restos de documentos XML subjacentes bem formados e possivelmente válida (se a validade é necessária a configuração do analisador). Se você manter a validade, isso pode exigir para alterar [a cópia] o esquema (DTD ou outro), como elementos manditory pode ser removido durante a abordagem cut-and-try ... BTW, a mensagem de erro parece sugerir mais em um problema de validação de que a questão básica afirmação de boa formação.

A menos que a pessoa tem uma intuição especial quanto à área que desencadeia a reclamação do analisador, que normalmente remover (ou re-add, quando as coisas começam a trabalhar) cerca de metade do que foi previamente cortado ou re-adicionado.

Você também pode começar com a tentativa de um arquivo quase vazio, para afirmar que o analisador funciona em todos ... Mais uma vez é a idéia de "dividir para prevalecer": é a questão na entrada XML ou no analisador? (Lembrando que poderia haver duas questões, uma na entrada e outra no analisador, e thtat tais questões poderiam mesmo ser alheios ...)

Desculpe a insistir técnicas de diagnóstico básicos que você pode muito bem ser fluente com ...

Outras dicas

Você deve verificar os argumentos que você está passando para o parse método (); Se você estiver passando diretamente uma corda para analisar ou arquivo ou inputStream conformidade (File / InputStream / String) etc.

A exceção é causada pelo comprimento do arquivo XML. Se você adicionar ou remover um caractere a partir do arquivo, o analisador será bem sucedida.

O problema ocorre dentro da 3ª biblioteca PiccoloLexer partido que XMLBeans depende. Ele foi corrigido na revisão 959.082, mas não tem sido aplicada a xbean 2,5 jar.

XMLBeans - Problema com arquivos XML se o comprimento é exatamente 8193bytes

problema relatado em XMLBean Jira

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top