2012-03-15 6 views
0

Xercesパーサーを使用するツールを使用してVisual Studioを使用して作成したXMLファイルを解析しようとしましたが、「プロローグで許可されていないコンテンツ」エラーが発生しました。Xml解析 - ユニークなエラー状況

私はnotepad ++のような他のエディタを使ってXMLファイルを作成し、上記で作成したのと全く同じ内容を持っていますが、このエラーは発生しません。

あなたは何が問題だろうと思いますか?これは繰り返しの質問ではありません。

EDIT 私は問題を発見しました。それは私が使用しているツールがファイルの先頭にBomを処理できなかったからです

+0

ファイルをオンラインで投稿できますか? –

+0

の<?xml version = "1.0" エンコード= "UTF-8"?>

\t <ノードのキー= "TEMP1" 値= "いくつかの値" /> \t <ノードのキー= "TEMP2" 値= "いくつかの値 "/> \t
これはファイルです。 – hari

+0

いいえ、ファイル自体を転記する必要があります。それ以外の場合は、エンコード情報などが失われています。 –

答えて

1

ファイルは、UTF-8 byte-order markで始まります。 XML specificationsは、文書がBOMで始まる可能性があるので、うまくいくはずです。ツールがXercesの古いバージョンを使用している可能性はありますかはBOMに対応していませんか?それ以外は、ファイルは私にはうまく見えます。

これはあなたのソースコードを持っているツールですか?あなたは問題を示す、それを解析するのに失敗した短いしかし完全なプログラムを作成することができますか? Xercesの後のバージョンを試すことができますか?

+0

これは私が得るエラーです。私はそれが主にパーサーの古いバージョンのためだと思います。 AddTestOld.xmlのXML解析エラーです。詳細な例外情報は次のとおりです。 tdm.lib.ParseException:コンテンツはプロローグで許可されていません。 tdm.lib.ParseException:コンテンツはプロローグで許可されていません。 at tdm.lib.XMLParser.parse(不明なソース) at tdm.tool.TreeDiffMerge.merge(不明なソース) at tdm.tool.TreeDiffMerge.main(不明なソース) – hari

+0

私はこのツールのsrcコードを持っています。私はそれを変更しようとしています。ツールはANSI形式のみを解析し、UTF-8でxmlを作成するため、ツールで解析することができません。 – hari

+0

@hari:ツールでは、なぜエンコーディングを指定していますか?あなたは 'InputStream'を与え、Xercesにエンコーディングを理解させるべきです。 –

0

Visual Studioを使用して作成したファイルのエンコーディングをチェックし、メモ帳ファイルのエンコーディングと比較してください。