私はいつもXMLを送信するサーバーで働いています。しかし、時にはサーバーが不足しているとか、HTMLページを返すことで私のことを報告してくれることもありますが、私はそれを期待せず、XMLパーサがクラッシュしました。
私はDefaultHttpClient()を使用しています。私はmHttpRequest.setHeader("Accept", "text/xml");
のように送信します。
XML(または他の特定の形式)応答を得るための適切な方法は何ですか?応答がHTMLではなくXML形式であるかどうかを確認する方法は?
答えて
レスポンスのコンテンツタイプヘッダーを確認できますか?以下のような
何か(私が正しくAndroid documentationを理解している場合):
"text/xml".equals(httpResponse.getEntity().getContentType().getValue());
(一般的に)それは "text/xml"ではないかもしれません - 原子のフィードは非常に目立つ(そして共通の)反例です。 "/ xml" *および/または* "+ xml"にマッチするマントを探す方が良いかもしれません。 [インターネットメディアの種類](http://en.wikipedia.org/wiki/Internet_media_type)を参照してください。 –
すべてのXMLには、最初に文書記述子<?xml version="1.0" encoding="utf-8"?>
が含まれています。これを解析する前に確認することができます。
しかし、私はあなたのパーサーでエラー処理と結果の検証が必要だと思います。ネットワークは安全な環境ではありません。半分の壊れたXML、不正なXML、または偽造されたXMLをネットワークから簡単に取得できます。適切なパーサーはそれを検出し、クラッシュだけでなく対応するエラーを報告する必要があります。
で始まるわけではありませんが、UTF-8ではないかもしれません...しかし、XML宣言は有効なXML文書に必要です。 (そして再び、世界は完璧ではありません:-) –
私はそれを得ました。それはちょうど私にキャッチされた例外を報告します。アプリ全体全体がクラッシュすることはありません。 – Stan
- 1. 応答があるかどうかを確認する方法
- 2. XSDスキーマが整形式であるかどうかを確認する方法?
- 3. 検証:アップロードされるファイルがExcel形式であるかどうかを確認する方法は? - Apache POI
- 4. XMLが整形式であるかどうかを判断する方法
- 5. jpegがRGB形式かCMYK形式かを確認する方法は?
- 6. XMLにSQLの値があるかどうかを確認する方法は?
- 7. リレーションシップがBCNF形式であるかどうかを確認しますか?
- 8. xmlノードがasp.netのルートであるかどうかを確認する方法
- 9. JAVAコンポーネント/コンテナをHTML/XML形式でレンダリングする方法はありますか?
- 10. jqueryの応答がjsonかどうかを確認する
- 11. データが ""であるかどうかを確認する方法
- 12. URLの形式が "/ askwiki/questions/<any number>"であるかどうかを確認する方法
- 13. 応答形式のHTML、CSS
- 14. GoogleフォームApp Script:現在の投稿が編集応答または新しい応答であるかどうかを確認する方法
- 15. XML文書にタグ "id"があるかどうかを確認する方法
- 16. C#で1つのXMLが別のXMLのサブセットであるかどうかを確認する方法
- 17. サイトにモバイル対応ページがあるかどうかを確認する方法
- 18. データベースからダンプされたxmlファイルが最新であるかどうかを確認する方法は?
- 19. コントローラテストでjson応答を確認する方法は?
- 20. 入力がCであるかどうかを確認する方法は?
- 21. BitmapImageがグレースケールであるかどうかを確認する方法は?
- 22. Java EEシングルトンがビジーであるかどうかを確認する方法は?
- 23. opensamlでsaml xmlの応答を確認するにはどうすればいいですか?
- 24. Java jsoupクラスがhtmlにあるかどうかを確認する方法
- 25. HTMLのチェックボックスがオンになっているかどうかを確認する方法はありますか?
- 26. 親がスパンかアンカーかをHTMLで確認する方法は?
- 27. レポートビューアの式、値がDateTimeかdoubleかどうかを確認する方法は?
- 28. デスクトップクライアントでアクティブなSkypeコールがあるかどうかを確認する方法
- 29. XHTML-HTMLはXML形式ではありませんか?
- 30. XML形式の確認
レスポンスのステータスコードを正しく確認していますか?それがHTMLページにつながるエラーであれば、200 OKを得るべきではありません。 – FRotthowe
現在、私はそうではありません。私は返されたコードを回避しようとします – Stan