例外です。prolog-collectionではコンテンツが許可されていません。
冒頭にコメントアウトし忘れた漢字が数行あったことがわかり、コメントアウトして問題は解決しました。
DOM4j が xml ファイルを読み込む際にエラーが発生する場合があるためです。コンテンツはプロローグで許可されていません
xmlはUTF-8でエンコードされており、Ultraeditで編集すると、BOMヘッダのないUTF-8ファイルにBOMが追加されますが、DOM4jはこのBOMを認識しません(dom4j1.3)、dom4jを1.6にアップグレードすれば解決します。
www.dom4j.org
BOMとは何ですか?
http://www.unicode.org/faq/utf_bom.html#22
Unicodeの仕様には、BOM - Byte Order Markという概念があります。その中で ここで は、BOMの説明をご覧ください。
<ブロッククオートUCSのエンコーディングには"ZERO WIDTH NO-BREAK SPACE"という文字があり、これはFEFFとエンコードされています。FFFEはUCSでは存在しない文字なので、実際の送信には現れません。UCS仕様では、バイトストリームを送信する前に"ZERO WIDTH NO-BREAK SPACE"の文字が送信できるよう推奨されています。NO-BREAK SPACE"です。こうすることで、受信者がFEFFを受信すれば、バイトストリームがビッグエンディアンであることを示し、FFFEを受信すれば、バイトストリームがリトルエンディアンであることを示す。このように、quot;ZERO WIDTH NO-BREAK SPACE"という文字は、BOMとも呼ばれます。
UTF-8では、バイトオーダーを示すBOMは必要ありませんが、エンコーディングのスタイルを示すためにBOMを使用することは可能です。文字 "ZERO WIDTH NO-BREAK SPACE" の UTF-8 エンコーディングは、EF BB BF です。したがって、受信者がEF BB BFで始まるバイトストリームを受信した場合、それがUTF-8でエンコードされていることが分かります。
このように、WindowsはBOMを使ってテキストファイルのエンコード方法をマークしているのです。
また、ユニコード・サイトの FAQ-BOM BOMの公式かつ自然な権威だが、英語なので読みにくい
eclipseでantを使ってjavaプロジェクトをビルドするという記事を見て、記事の指示に従って新しいプロジェクトを作成し、classes、dist、doc、libのためにいくつかの新しいフォルダとbuild.xmlファイルを作成しました。build.xmlファイルの内容もそのままコピーしたもので、Webページから直接コピーしたため、 "<" ">" がすべて中国語形式になっているので、これらを少し置き換えてみました。
しかし、プロジェクトを選択し、"Project", "Properties", "Builders", "New...", select "Ant Build": "Bulidfile" ロード時に " と表示され、その後に、" Ant Build" を選択します。
prologにコンテンツは許可されていません
エラーが発生しました。
その後、Googleでいろいろ調べてみたところ、運良く、build.xmlファイル形式のエラーかもしれないという小さな記事を読みました。
HTMLの例で見ることができます。
1 <! DOCTYPE html PUBLIC "-/W3C//DTD XHTML 1.0 Transitional//EN "
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "。 > <スパン
3 < html xmlns = "http://www.w3.org/1999/xhtml "。 <スパン >
4 < ヘッド >
5 < タイトル > 記号の接地問題 </ タイトル >
6 </ ヘッド >
7 < 本体 >
8 </ 本体 >
9 </ html >
この例では、プロログは1-2行目、インスタンスの始まりは
3行目 このプロローグには、DOCTYPE宣言、外付けの
サブセット(DTDと呼ばれる)と、内部サブセット(これは滅多にないことだが
を参照してください(ただし合法です)。 ドキュメントインスタンスには、ドキュメント
要素(この場合 <です。 html > およびその子孫のコンテンツすべて)。
一般的にプロローグは見たくありませんし、一般的にプロローグは見ません。
DOCTYPE 宣言は、以下の参照を提供します。
を検証するプロセスの一部としてインスタンス化されるDTDです。
リファレンスを保存したい場合もあるでしょうが、そのようなことはありません。
のように、ドキュメントを保存するたびにDTDを保存したい。
は本当にもったいないです(DTDはしばしば文書より大きいです)。
あなたの整形された有効なドキュメントが、'not being 'であるように聞こえます。
エラーメッセージは次のように表示されます。
にコンテンツ(要素または文字データ)があること。
文書のプロローグとされる部分が抜けている可能性があります。
上記2行目の最後の " > " は、通常であれば冒頭部分となるはずです。
もし、"が見つかったら。 < html "(またはそれに類するもの)。
そのエラーが出るかもしれません。
UltraEditでHibernateマッピングファイルを書くとき、UltraEditがUTF8エンコードされたファイルの先頭に自動的に特殊文字を追加していることに気づきました。これはUltraEditでは見えませんが、他のエディタでは見ることができます。dom4jを使ってファイルをパースすると、content is not allowed in prologエラーが表示されます。このエラーは、他のエディタでこの文字を削除することで修正することができます。
別のxmlパーサーがあるはずです。utf-8ファイルヘッダは、xml規格にあるように、ユニコードに準拠しています。javaで書かれたxmlパーサーの中には、このヘッダーを認識しない悪いものがあります。しかし、優れたパーサーはこれを認識します。たとえば、apacheのパーサーはそうです。
------------------------------------------------------------------------------------------------------------------
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例