Я использую KSoap2 для связи с сервером. Связь в порядке и возвращает набор значений, которые я упомянул ниже. Я не уверен, как я справляюсь с ответом. Я написал отдельный класс Java, который реализует KvmSerializable для отображения XML объектов с объектами Java. После долгих исследований в Интернете я обнаружил, что использование синтаксического анализатора, например SAX , DOM .. и т. Д. Является более стандартным и гибкий.
Могу ли я принести SAX для разбора следующего ответа ... если да, пожалуйста, предоставьте некоторые ссылки.
Это ответ, который я получил после отправки запроса на сервер из моего клиентского приложения для Android. Обратите внимание, что этот ответ не заканчивается на .xml / возвращается в виде файла .xml.
Это ответ веб-клиента:
http://134.1.10.5/Maxima/MaximaSystem.asmx/ValidateLogin
<DataSet>
<xs:schema id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="UserIcode" type="xs:int" minOccurs="0"/>
<xs:element name="UserUserName" type="xs:string" minOccurs="0"/>
<xs:element name="UserPassword" type="xs:string" minOccurs="0"/>
<xs:element name="UserTypeICode" type="xs:int" minOccurs="0"/>
<xs:element name="ProfileTable" type="xs:string" minOccurs="0"/>
<xs:element name="UserTypeDesc" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram>
<NewDataSet>
<Table diffgr:id="Table1" msdata:rowOrder="0">
<Name>Frecan </Name>
<UserIcode>634</UserIcode>
<UserUserName>dairy</UserUserName>
<UserPassword>dairy123</UserPassword>
<UserTypeICode>632</UserTypeICode>
<ProfileTable/>
<UserTypeDesc>Dentist</UserTypeDesc>
</Table>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
Это ответ. Нет XML-тегов ... что-нибудь ... Пожалуйста, предложите лучший способ, чтобы я мог разобрать его с помощью собственного анализатора Android. Если да, пожалуйста, предоставьте несколько ссылок.
Это пример ответа, который я получаю, когда я пингую сервер через Android Client
anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=an
yType{complexType=anyType{sequence=anyType{element=anyType{....
// some values ........
};
element=anyType{};
element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{};
element=anyType{}; }; }; }; }; };unique=anyType{selector=anyType{};
field=anyType{};}; }; }; diffgram=anyType{}; }
Пожалуйста, дайте мне знать, возможно ли использовать нативные парсеры в Android.
Заранее спасибо.