Play 1.2.4を使用していますが、サードパーティのWebサービスに電話する必要があります。応答を受け取ったとき、無効なXML形式が含まれているため、XPathを介して適切に解析できません。
応答には>
、と<
の代わりに<
とがあり>
ます。運が悪かったので、応答をデコードしようとしました。「application/soap+xml」と思われる応答内容も確認しました。
では、どうすればこの文字を置き換えることができますか。正規表現を使用した単純な文字列置換関数以外に、これを置換/変換するエレガントな方法はありますか?
編集:ここでより良いアイデアを得るには、Webサービスを呼び出す方法があります。
HttpResponse response = WS.url(WS_URL)
.setHeader("Content-Type","application/soap+xml")
.body(wsBody)
.post();
これが私が解析するために行うことです:
org.w3.dom.Document xmlDoc = response.getXML();
String textOfSelectedTag = XPath.selectText("tag", xmlDoc);
<tag>
XPathは、次のような形式ではないため、タグを見つけることができません。<tag>