我是Java和Android Studio的新手,正在尝试解析来自.NET Web服务的XML,我正在工作的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()));
有效的 xml 必须以 XML 声明开头,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
如果 Web 服务的结果不包含它,则它不是有效的 xml。但是,在解析它之前,您可以将其放在结果xml的前面。