Неожиданный токен (позиция: ТЕКСТ»@ 1: 2 дюйма java.io.InputStreamReader@3422132 )

#java #android

#java #Android

Вопрос:

Я новичок в Java и Android Studio и пытаюсь проанализировать XML, который поступает из .NET Web Services, XML, над которым я работаю, выглядит следующим образом

 <RegisterViewModal>
  <RegList>
    <Register>
      <Availability>test</Availability>
      <Rating>0</Rating>
      <Citieslist>
        <Citieslist1>
          <Citieslist1>
            <Cityid>00000000-0000-0000-0000-000000000000</Cityid>
            <Countryid>00000000-0000-0000-0000-000000000000</Countryid>
            <Cityname>hyderabad</Cityname>
          </Citieslist1>
        </Citieslist1>
      </Citieslist>
      <CountryId>00000000-0000-0000-0000-000000000000</CountryId>
      <IsQuote>false</IsQuote>
      <IsRegisterd>false</IsRegisterd>
    </Register>
  </RegList>
</RegisterViewModal>
  

Я попытался изменить кодировку на UTF-8, но проблема все еще остается.

 String  Resultxml=  ServiceCallsLayer.TerstService();
String s1 = URLDecoder.decode(Resultxml, "UTF-8");
DocumentBuilder db=DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = db.parse(new ByteArrayInputStream(s1.getBytes()));
  

Ответ №1:

Допустимый xml должен начинаться с XML-объявления, подобного этому:

 <?xml version="1.0" encoding="UTF-8"?>
  

Если результат вашего веб-сервиса не включает его, это недопустимый xml. Но вы могли бы поместить его перед вашим resultxml перед его анализом.

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

1. Привет, Эрвин, спасибо за твой ответ, я добавил строку выше в начале моего xml, и проблема остается прежней, теперь он показывает неожиданный токен (позиция: ТЕКСТ» @ 1: 40 дюйма java.io.InputStreamReader@7f18e83 )

2. В середине xml была одна кавычка, которая вызвала ошибку, спасибо за ваше время.