<?xml version="1.0" encoding="utf-8"?> <root> <child> <children></children> </child> </root>
и я хочу добавить других детей в ребенка ?? но я пытаюсь и ничего не знаю, как …: S help pls Я хочу, чтобы мой xml понравился
<?xml version="1.0" encoding="utf-8"?> <root> <child> <children></children> <children></children> </child> </root> $dom = new DomDocument; //$dom->preserveWhiteSpace = FALSE; $dom->load("myXML.xml"); $root = $dom->getElementById('root'); $params = $dom->getElementsByTagName('child'); $cantidadCategorias = $params->length+1; $newElement = $dom->createElement('child',''); $dom->appendChild($newElement); $f = fopen("myXML.xml",'w+'); fwrite($f,$dom->saveXML()); fclose($f);
С DOMDocument
это так просто:
$child = new DOMElement('children'); $parent->appendChild($child);
Принимая во внимание, что $parent
является $parent
DOMElement
который (после того, как вы обновили свой вопрос) в aquire является частью вашей проблемы:
// append <children> to the first <child> element $parent = $dom->getElementsByTagName('child')->item(0); $child = new DOMElement('children'); $parent->appendChild($child);
Поскольку вы отметили php, я предполагаю, что вы ищете решение на PHP, вы попробовали следующее:
$myxml = new SimpleXMLElement($xmlstr); $myxml->child[0]->addChild('children');
См. http://www.php.net/manual/en/simplexml.examples-basic.php для хорошего набора примеров обработки XML в PHP.
Несколько полезных примеров добавления XML-узлов можно найти в руководстве по PHP. Как и этот способ использования класса SimpleXMLElement для добавления дочернего узла.