2011-07-01 9 views
3

PHPでXMLをエンコードしてデコードするには誰も良い安定したクラスを提案できますか?PHPのXMLエンコード/デコードクラス

編集

はphp.netに、この例を見つけましたが、それを動作させることができない...何のエラーMSGのは

$sxe = new SimpleXMLElement(); 
$sxe->addAttribute('type', 'documentary'); 

$movie = $sxe->addChild('movie'); 
$movie->addChild('title', 'PHP2: More Parser Stories'); 
$movie->addChild('plot', 'This is all about the people who make it work.'); 

$characters = $movie->addChild('characters'); 
$character = $characters->addChild('character'); 
$character->addChild('name', 'Mr. Parser'); 
$character->addChild('actor', 'John Doe'); 

$rating = $movie->addChild('rating', '5'); 
$rating->addAttribute('type', 'stars'); 

echo $sxe->asXML(); 

答えて

6

SimpleXMLを返されませんおそらく最も簡単でしょう。例:

<root> 
    <node> 
     <sub>Text</sub> 
    </node> 
</root> 

 

$xml = new SimpleXMLElement('xml_file.xml', 0, true); 
echo $xml->node->sub; // Displays "Text" 

編集:、あなたはクラスの開始にルートノードを含める必要が動作していないあなたのコードに対応して

$sxe = new SimpleXMLElement('<root />'); 
+0

どのようにphp配列からxmlにエンコードできますか? – clarkk

+0

@clarkk:XML​​オブジェクトに新しいノードを追加するには、['SimpleXMLElement :: addChild()'](http://php.net/manual/en/simplexmlelement.addchild.php)などのメソッドを使用します。 –

+0

json_encode()のような簡単な解決策はありませんか? – clarkk

-1

encode/decode doあなたは書き込み/読み取りを意味しますか? XMLはコードではなく、単なるマークアップです。しかし、XMLの文字エンティティエンコーディングと呼ばれるものがあります。

PHPには基本的に2つのクラスまたはライブラリがあります。 SimpleXMLとDOMElement。 phpinfoが有効になっているかどうか、php.iniで有効になっているかどうかを確認する必要があります。