私は Android (iOS/Objective C app の移植) を初めて使用し、WebService によって返された XML (JSON のいくつかのノードを含む) ファイルを読み取る必要があります。
応答は次のようになります。
<SOAP-ENV:Envelope><SOAP-ENV:Body><ns1:TPLoginResponse><TPLoginResult>[{"content": "some json content...."]</TPLoginResult></ns1:TPLoginResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
TPLoginResult の内容を簡単に取得するにはどうすればよいですか?
私は試した :
httpTransport.call(SOAP_ACTION, envelope);
Object response = envelope.getResponse();
SoapObject SoapResponse = (SoapObject)envelope.bodyIn;
Log.e("Info", "response : " + SoapResponse.toString() ); // content is successfully received here
String SResponse = SoapResponse.toString();
Log.e("Info", "DocumentBuilderFactory" );
// parse the XML as a W3C Document
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
builderFactory.setNamespaceAware(true);
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse( new InputSource(new StringReader(SResponse)) );
NodeList nList = document.getElementsByTagName("TPLoginResult");
Log.e("info","nList length : " + nList.getLength());
しかし、長さ0のnListが必要です...
私も試しました:
NodeList nList = document.getElementsByTagName("ns1:TPLoginResponse");
しかし、同じ0の長さの結果..
助言がありますか ?