xmlファイルがあります。
<?xml version="1.0" encoding="UTF-8"?>
<channel>
<item>content with special character é</item>
</channel>
上記がxmlファイルであると想定します。ただし、製品カタログのコンテンツには、さらに多くのタグとコンテンツが含まれています。これは、次のプロセスを使用して作成されます。
- ColdFusionファイルからデータベースを呼び出す
- プロシージャを使用してデータベースからコンテンツを取得し、coldfusionファイルに戻ります
- コールドフュージョンでxmlファイルを作成します(ファイル名を使用するだけです。例: "filename.xml")
- コールドフュージョンでクエリをループし、製品ごとの製品をxmlファイルに追加して、コンテンツをファイルに書き込みます
これにより、Firefoxでファイルを開こうとするとエラーが発生します(xmlファイルの解析をテストする私の方法)。エスケープが必要な特殊文字(「xmlが整形式ではない」など)があることを教えてくれます。だから私はこれらのxmlタグの中にCDATAタグを入れました、それはこれをクリアするはずですよね?そうではありません。xml用に予約されている文字(&、<、>、..)だけでなく、特殊文字に遭遇し続けます。
これが私がそれを失い始めた時です。小さなxmlファイルを手動で(coldfusionを介さずに)作成してみてテストした後、CDATAタグを削除し、上記のコードを挿入するだけで、動作するようになりました。Firefoxは上記のコードを適切に解析します。考えた結果、元のファイルである障害のあるファイルの内容全体を、手動で作成した新しいxmlファイル(.txt-> .xmlに名前を変更)にコピーしただけで、エラーは発生しません。
この場合、最初から2番目にコピーされた、まったく同じ内容の2つの別々のファイルが、どのように異なる方法で解析されるかを誰かに説明してもらえますか。1つ目は特殊文字で複数のエラーを示し、2つ目はこれらにまったく問題がありません。誰か、ここの机で凶暴になる前に..> _>
編集1: 特殊文字とは、具体的にはutf-8文字を意味します。私はxml用に予約されている文字(&、<、>、...)について話しているのではなく、すでにこれらをエスケープしています。