#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 была одна кавычка, которая вызвала ошибку, спасибо за ваше время.