私はさまざまな記事を読み、PHP配列からXMLを作り出す方法を学びます。SimpleXMLはidを終了タグに入れます
SimpleXMLとループを使用して、ここから2つの記事を取り上げました。
私はこれを使用:
function array_to_xml($data, $xml_data) {
foreach($data as $key => $value) {
if(is_numeric($key)){
$key = 'point id="'.$key.'"'; //dealing with <0/>..<n/> issues
}
if(is_array($value)) {
$subnode = $xml_data->addChild($key);
array_to_xml($value, $subnode);
} else {
$xml_data->addChild("$key",htmlspecialchars("$value"));
}
}
}
をし、それが今の仕事の種類を行います。
ポイントは、多次元配列を使用して記事リストを送信しています。あなたは、そのことを推測するかもしれません、それは、
<article id="sth">bla</article>
です。
<article id="a-1-0">Example of Naming</article id="a-1-0">
不可能(SimpleXMLをを使用しても)これらを開いて読みますた: 問題は、物事はこのように見えるので、この関数は、終了タグのidが含まれていること、です。
終了タグにIDを作成しないようにSimpleXMLを設定する方法はありますか? Thxは事前に、どんな助けも大きな価値があります。
EDIT:
コード・スニペットは、上記の点タグを扱っています。
$el = $xml_data->addChild('point', htmlspecialchars("$value"));
$el->addAttribute('id', $key);
子を追加した後に属性を追加します。そこに同じ問題は、彼らはあなたがこれを行うことができ
<point id="0">[...]</point id="0">
代わりに 'addAttribute(" $ key "、htmlspecialchars(" $ value "))'を使用するべきではありませんか? – Rimble