次の InputStream から「SearchResult」値を取得したい:
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<SearchResponse xmlns="[url here]">
<SearchResult>[THIS VALUE HERE]</SearchResult>
</SearchResponse>
</soap12:Body>
</soap12:Envelope>
私はDOMパーサーを使用しようとしましたが、問題があり、とにかく正しいアプローチであるかどうかわかりません:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder db;
Document doc = null;
db = factory.newDocumentBuilder();
InputSource inStream = new InputSource();
inStream.setCharacterStream(new StringReader(soapResponse));
doc = db.parse(inStream);
NodeList nl = doc.getElementsByTagName("SearchResult");
//Not sure how to get the value... Everything I've tried returned "null". Help?
これどうやってするの?