また質問です。今回は、サーバーから受信した XML メッセージを解析しています。賢いと思われる誰かが、HTML ページを XML メッセージに配置することにしました。この XML メッセージから HTML ページを文字列として抽出したいので、問題に直面しています。
わかりました、これは私が解析している XML メッセージです:
<AmigoRequest>
<From></From>
<To></To>
<MessageType>showMessage</MessageType>
<Param0>general message</Param0>
<Param1><html><head>test</head><body>Testhtml</body></html></Param1>
</AmigoRequest>
Param1 で HTML ページが指定されていることがわかります。次の方法でメッセージを抽出しようとしました。
public String getParam1(ドキュメント d) { if (d.getDocumentElement().getTagName().equals("AmigoRequest")) { NodeList の結果 = d.getElementsByTagName("Param1"); // Messagetype は、読み取っているメッセージによって異なります。 if (results.getLength() > 0 && 結果 != null) { 結果を返す.item(0).getFirstChild().getNodeValue(); } } 戻る ""; }
ここで、d は文書形式の XML メッセージです。getNodeValue() が null を返すため、常に null 値が返されます。results.item(0).getFirstChild().hasChildNodes() を試すと、メッセージにタグがあることがわかるため、true が返されます。
<html><head>test</head><body>Testhtml</body></html>
文字列内の Param0 からHTML メッセージを抽出するにはどうすればよいですか?
私は Android SDK 1.5 (ほぼ Java) と DOM パーサーを使用しています。
お時間をいただき、ご返信いただきありがとうございます。
アンテック