1

PHP で xml ページを生成したいのですが、たとえば特殊文字のデコード/エンコードで問題が見つかりました。""é""

マイコード:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
 <url>
    <loc> &eacute; test &egrave; </loc>
    <priority>1.000</priority>
    <changefreq>always</changefreq>
 </url>
</urlset>

しかし、私はこのメッセージを受け取ります

This page contains the following errors:

error on line 4 at column 19: Entity 'eacute' not defined
Below is a rendering of the page up to the first error.
4

2 に答える 2

1

アンパサンド文字 (&) と左山かっこ (<) は、マークアップ区切り文字として使用する場合、またはコメント、処理命令、または CDATA セクション内で使用する場合を除き、リテラル形式で使用してはなりません。

(参照)

代わりにこれを使用してください

<loc>&amp;eacute; test &amp;egrave;</loc>

は次の&ようにエンコードする必要があります&amp;


またはCDataセクション内で使用します。次のテキストはマークアップではなく、代わりに文字データであると書かれています。

<loc><![CDATA[&eacute; test &egrave;]]></loc>
于 2012-08-17T03:41:43.747 に答える
1

XML に HTML エンティティを入れたい、または XML にリテラル文字を入れたいということですか?

XML によって定義される唯一のエンティティは次のとおりです。

  • &アンプ;
  • <
  • >
  • "
  • '

他には何もありません。また、XML ドキュメントで Unicode テキストを表すために厳密に必要なのは最初の 2 つだけです。リテラル を XML テキストに含めても問題あり>ません'"

XML 文書にリテラル文字を含めるには、それらをそこに入れるだけで、文書をバイト形式で生成するために使用するエンコーディングが宣言にあるものと同じであることを確認してください。要素名と属性名で尊重しなければならない特定の文字クラスがあります。< リテラルの代わりにエンティティ。

http://www.w3schools.com/xml/xml_encoding.asp

于 2012-08-17T03:50:25.683 に答える