> の間にスペースを追加してみてください。 XMLでは、プロローグは文書の先頭でこのブラケットと疑問符で区切られた要素を指定します(stackoverflowのタグプロローグはプログラミング言語を参照します)。 追加: 文書のプロローグ部分の前にダッシュがありますか?それはそこのエラーで、プロローグの前にデータがある - xml version="1. プロローグにはコンテンツを指定できません。. 0" encoding="UTF-8"? > です。 Freemarkerを使用してXML文書を解析しようとしたときに、私は同じ問題を抱えていました(そしてそれを解決しました)。 XMLファイルのヘッダーの前にスペースがありませんでした。 ファイルのエンコーディングとXMLのエンコーディング属性が異なる場合に限り、問題が発生します。 (例:ヘッダーにUTF-16属性を持つUTF-8ファイル)。 だから私は問題を解決する2つの方法がありました: ファイル自体のエンコーディングを変更する ヘッダーUTF-16をUTF-8に変更 XMLが不正な形式であるか、レスポンスボディがXML文書ではないことを意味します。 WSDL内の同様の問題を追跡するのに4時間を費やしました。 WSDLが別のネームスペースXSDをインポートするXSDを使用していることがわかりました。このインポートされたXSDには次のものが含まれていました。 xml version="1. 0" encoding="UTF-8"?
xmlを使用した:内容はプロローグでは許可されていません。 それほど有益ではありません。しかしこれが実際に意味することはconf/server. xmlファイルにゴミがあるということです。 私は他のXMLファイルでこの正確なエラーを見ました.. このエラーはゴミを紹介するテキストエディタで変更を加えることによって引き起こされる可能性があります。 ファイルにゴミがあるかどうかを確認する方法は、「HEXエディタ」で開くことです。この文字列の前に文字がある場合は " xml version="1. 0" encoding="UTF-8"? >" このようにゴミになります "‰ŠŒ xml version="1. 0" encoding="UTF-8"? >" それがあなたの問題です.... 解決策は、良いHEXエディタを使用することです。 それをUTF-8として保存してください。 XMLファイルを使用するいくつかのシステムはそれをUTF NO BOMとして保存する必要があるかもしれません、それは「NO Byte Order Mark」で意味します これが誰かに役立つことを願っています! 【エラー解決方法】JAXBでXMLファイルが解読できない!?を解決する方法 | 株式会社AMG Solution. Unix/LinuxシステムでBOMの問題を解決するには 不要なBOM文字があるかどうかを確認します。 hexdump -C | more 不要なBOM文字は、ファイルの先頭に... xml> として表示されます。 あるいは、 file を実行してください。 BOM文字を含むファイルは、次のように表示されます。 XML 1. 0 document text, UTF-8 Unicode (with BOM) text tail -c +4 > && mv で単一のファイルを修正する ファイルがサニタイズされたことを確認するには、1または2を繰り返します。内容を確認するために view を実行することもおそらく賢明です。 これは、XMLファイルのフォルダ全体をサニタイズするためのbashスクリプトです。 #!
私はJavaを使用しており、HTTPリンクからXMLドキュメントを取得しようとしています。使用しているコードは次のとおりです。 URL url = new URL(link); HttpURLConnection connection = (HttpURLConnection)Connection(); tRequestMethod("GET"); nnect(); Document doc = null; CountInputStream in = new CountInputStream(Stream()); doc = wInstance(). newDocumentBuilder()(in); に注意しないでください CountInputStream 、それは通常の入力ストリームのように動作する特別なクラスです。 上記のコードを使用すると、時々エラーが発生しました Fatal Error:1:1: Content is not allowed in prolog 。私はそれがxmlの悪いフォーマットと関係があると思いますが、それを修正する方法がわかりません。 回答: 回答№1は18 私はコメントを回答に変えているので、それを受け入れることができ、この質問は未回答のままではなくなります。 この原因として最も可能性が高いのは、不正な応答です。これには、最初の プロローグにはコンテンツを指定できません xml. xml …> 。 HTTP経由で転送されたドキュメントを見て、サーバー側で修正してください。 回答№2の6 確かに奇妙なキャラクターがいます(例: BOM )またはXMLプリアンブルの前の空白( xml...? > )? 回答№3の場合は0 誰かがJohannesWeißのコメントをこの質問に対する答えとしてマークする必要があります。それが、まさにDOM DocumentクラスにXMLドキュメントをロードできない理由です。 回答№4の場合は0 getリクエストに正しいヘッダーを追加するのを忘れたようです(REST API開発者または特定のAPIの説明を確認してください)。 ("Accept", "application/xml") または ("Accept", "application/xml;version=1") 回答№5の場合は0 この問題について私が見つけた本当の解決策は XML形式のポストプロセッサを無効にする 。 「」というポストプロセッサを追加しました jp@gc - XML Format Post Processor 「エラーに気づき始めました」 Fatal Error:1:1: Content is not allowed in prolog " 無効にすることにより ポストプロセッサはこれらのエラーのスローを停止しました。
getProperty ( "") + "/test/xml/"); InputStream fin = new FileInputStream ( file); Reader in = new InputStreamReader ( fin, "UTF-8"); int ch; StringBuilder buf = new StringBuilder (); // 文字読み込み ch = in. read (); if ( ch! = - 1) { // BOM(0xFEFF)以外 if ( ch! = 0xFEFF) { buf. append ( ( char) ch);} while ( ( ch = in. read ())! = - 1) { buf. append ( ( char) ch);}} // ファイルクローズ try { if ( in! = null) { in. close ();} else if ( fin! = null) { fin. close ();}} catch ( Exception ex) { System. 致命的なエラー:1:1:コンテンツはプロローグで許可されていません - java、xml. out. println ( ex. getMessage ());} // エンティティにパース AbcEntity xbEntity = JAXB. unmarshal ( new StringReader ( buf. class); これでunmarshal時にエラーにならなくなりました。 まとめ 仕様書にBOM付きか無しか書いていない場合には、どちらのファイルが来てもエラーとならないようにプログラム側で対応できるようにしておく必要があります。 エラーが出てから気がつくではなく、先に考えておけばよかったなと思います。 まあ今回はBOM無しでという仕様だったので対応していなかったんですけどね・・・。
( ๑≧ꇴ≦)<キイーッ!キィーッ!
こんにちは、フルール編集部です COMICフルールでは プチ新連載祭り 中♪ 2週連続で新連載がスタートします 来週スタートするのは…… 「しっぽ隠して恋隠せず」の 富塚ミヤコ先生の新連載です♪ 「 しっぽ隠して恋隠せず 」では 「 イグアナ 」になっちゃう受けちゃんが可愛かったですが、 今回は…表紙の通り「 ライオン 」が登場です! 早速冒頭をご紹介します♪ 大手会社の経営をする 椿家 に仕える 獅子堂千早 に 世話を焼かれている 央一朗 。 しかし央一朗は千早に世話をされるのをよしとしていない。 その理由は……。 「僕はお前が好きだ!」 堅物千早を恋人とするため、 自立した男になり認められようとする央一朗と、 それをものともしない千早。 もっと自分を認められようと、 央一朗は「自分のことを誰も知らない会社に入り、自立する」と目標を立てて、仕事をしているが… 千早に認められようと頑張る央一朗。 実際のところ千早はどう思っているのか…? と、チラ見せはここまで♪ 続きは、 来週18日 をお楽しみに!
(チラッ) 公主の心尽くしが帝君に伝わりますよ? (ニッコリ)」 知鶴は早速、往生海へ出かけることにしたが、小九も連れて行くと言った。 「お前が採るのを見張ってやる」 (๑°⌓°๑)はあ? 太晨宮に魔君・燕池悟から果たし状が届いた。 茶を飲んでいた東華帝君は茶葉で最も尊重すべきは何かと問うと、重霖(チョウリン)は以前、主人が葉を摘む時機であると言ったと答える。 するとその意味を悟った重霖は果たし状を持ってそのまま下がった。 その頃、知鶴に海の中へ突き落とされた小九は雨時花王の根を採って舟に戻っていた。 しかし知鶴は先に根を奪い取り、小九を置いて舟を漕ぎ出してしまう。 小九は必死に泳いで舟を追ったが、なぜこんな酷い目に遭わされるのかと悲しくなった。 …私が悪さをするから、これは天が下した罰なの?!