org.xml.sax.SAXParseException: содержимое не разрешено в прологе (JSON) - PullRequest
0 голосов
/ 24 июня 2018

У меня есть строковый объект, который содержит XML (включая тело и метаданные).Когда я пытаюсь разобрать его, я получаю следующую ошибку:

org.xml.sax.SAXParseException;номер строки: 1;columnNumber: 1;Содержание не разрешено в прологе

Я пытался использовать функцию My_XML.getBody(), но это не помогло.Мне нужна помощь с тем, как редактировать мой XML, чтобы он был разрешен.

Пример XML

{"body": <<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TccSubscriptionData xmlns="tcc.generated.com">
    <MessageKey>
        <MessageKey>12</MessageKey>
        <Receiver>asd</Receiver>
        <Timestamp>2018-06-20T14:33:22.968+02:00</Timestamp>
        <ResponseType>sdf</ResponseType>
        <CorrelationId>0</CorrelationId>
    </MessageKey>
</TccSubscriptionData>
, "metadata": {"field1": "aaa", "field2": 123, "field3": aaa, "field4": "aaa", "field5": 123, "field6": {"field7":"aaa","field8":"a12d","field9":"aaa"}}}

1 Ответ

0 голосов
/ 24 июня 2018

Ваш пример XML встроен в JSON, а ваш JSON не правильно сформирован .

Чтобы представить ваш XML в виде строки, вы 'Вам нужно будет окружить его ", и вам придется заменить " символы, используемые в качестве разметки XML, на ' символы или экранировать их как \".Вам также придется удалить разрывы строк или заменить их на \\n.

Тогда, конечно, как M.le Rutte comments , убедитесь, что вы предоставляете синтаксическому анализатору XML с XML, извлеченным из JSON, а не само сообщение JSON.

...