1

次のようなXmlファイルを取得しました

<root>
<firstchild id="1">
<page name="main">
</page>
</firstchild>
</root>

PHPでfirstchild id="1"のページを追加したい。どうすれば追加できますか?

$xml='<page name="second"></page>';
    $doc = new DOMDocument();
    $doc->load($filename);
    $fragment = $doc->createDocumentFragment();
    $fragment->appendXML($xml);
    $doc->documentElement->appendChild($fragment);
    $doc->save($filename);

メソッドappendXmlはありませんか?私はそれを追加するかもしれません

 `<page name="second">
<inlude file="1.png"></inlude>
<inlude file="2.png"></inlude>
</page>`

追加する最短の方法が必要です

4

2 に答える 2

1

DOMDocument を使用しているため、必要なものは次のとおりです。

$doc = new DOMDocument();
$doc->load($filename);
$firstchild = $doc->getElementsByTagName('firstchild')->item(0);
$newPage = $doc->createDocumentFragment();
$newPage->appendXML('<page name="second">
<inlude file="1.png"></inlude>
<inlude file="2.png"></inlude>
</page>');
$firstchild->appendChild($newPage);
$doc->save(filename);
于 2013-08-01T14:24:56.710 に答える
1

とを使用addChildaddAttributeます。

$xml = simplexml_load_string($data);
$page = $xml->firstchild->addChild("page");
$page->addAttribute("name", "Page name");
echo $xml->saveXML();

デモ: http://codepad.org/u78S8rFK

于 2013-08-01T14:10:21.920 に答える