私はこの質問が以前に何度も尋ねられることを知っていますが、それでも私が探していた望ましい結果を見つけることができません。phpDOMDocument関数を使用してxmlドキュメントを解析しています。
最初に、「local.xml」という名前のxmlドキュメントに次のスクリプトが含まれています
<?xml version="1.0" encoding="utf-8"?>
<config>
<global>
<host><![CDATA[name123]]></host>
<username><![CDATA[root45]]></username>
</global>
</config>
<host><![CDATA[name123]]></host>
「 」を「」<host><![CDATA[name456]]></host>
に変更したい
タグ内の値を変更できるphpコードがあります。これがphpコードです
<?php
$doc = new DOMDocument();
$doc->load('local.xml');
$config = $doc->getElementsByTagName( "global" );
foreach( $config as $global )
{
$hosts=$global->getElementsByTagName( "host" );
$usernames=$global->getElementsByTagName( "username" );
$a = "<![CDATA[name456]]>";
$hosts1=$hosts->item(0)->nodeValue=$a;
}
$doc->save('local.xml');
?>
上記のコードを実行すると、xmlファイルの出力は次のようになります
<?xml version="1.0" encoding="utf-8"?>
<config>
<global>
<host><![CDATA[name456]]></host>
<username><![CDATA[root45]]></username>
</global>
</config>
どうすればxmlドキュメント"<" to "<"
に変換できますか?">" to ">"
私は試し$a = htmlspecialchars("<![CDATA[name456]]>");
ましたが、$a = html_entity_decode("<![CDATA[name456]]>");
それでも上記と同じ出力が得られます。