1

私はphpでxmlを読んでいますが、解析でエラーが発生しました:

警告: simplexml_load_string() [function.simplexml-load-string]: エンティティ: 5 行目: パーサー エラー: 属性名の解析中にエラーが発生しました

私のxml文字列は次のとおりです。

$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
<messages>
<message>
  <date>1352210570</date>
  <from>Rui <rui@mail.pt></from>
  <subject>Mensagem de Teste</subject>
  <url>test.com</url>
</message>
</messages>';

simplexml_load_string($xmlString); で xml を解析します。

from ノードの < と > をエスケープするにはどうすればよいですか??

4

1 に答える 1

0
$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
<messages>
<message>
  <date>1352210570</date>
  <from><![CDATA[Rui <rui@mail.pt>]]></from>
  <subject>Mensagem de Teste</subject>
  <url>test.com</url>
</message>
</messages>';

<![CDATA[コードへの追加は、タグの後に、<from>タグの]]>前にaを含めることでした</from>

CDATA タグ内には、文字列を示す引用符がないことに注意してください。これは最初はつまずいたので、他の人に起こらないようにしています。

&lt;&gt;はおそらくパフォーマンスの点で少し高速ですが、潜在的に動的な XML 文字列を記述している場合、は<![CDATA[someText]]>はるかに「ブランケット エスケープ」です。

于 2012-11-20T14:44:42.867 に答える