У меня есть страница, содержащее следующее:selfwritten генератора XML оленья кожа слушать вывод XML
$xml = new DOMDocument('1.0', 'UTF-8');
// Set de format van het xml document
$xml->formatOutput = true;
$test = $xml->createElement('test');
$xml->appendChild($test);
$test->createElement('name','pierre');
XMLController::CreateTestXML($xml);
я написал 2 функции.
1.) CreateMultipleElements()
2.) CreateTestXML()
CreateTestXML() содержит:
Эта функция предназначена для добавления что-то в XML, и это делает:
public static function CreateTestXML(&xml){
$objectArray = self::CreateMultipleElements(
$xml,
array(
"Persoon" => null,
"Paard" => "Wit"
),
$parent = null,
$attributes = array(
"Persoon" => array(
"Type" => "NPS"
)
)
);
}
Затем у нас есть функция, которая фактически создает узлы и элементы, которые работают правильно:
public static function CreateMultipleElements(&$xml,$objectNameValue,$parent = null, $attributes = null){
$xmlObjecten = array();
foreach($objectNameValue as $objectName => $nodeValue){
$object = $xml->createElement($objectName,$nodeValue);
if(isset($attributes[$objectName])){
foreach($attributes[$objectName] as $key => $value){
$object->setAttribute($key,$value);
}
}
if($parent === null){
$xmlObjecten[$objectName] = $xml->appendChild($object);
}
else{
$xmlObjecten[$objectName] = $parent->appendChild($object);
}
}
return $xmlObjecten;
}
Вывод XML будет выглядеть следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<test>
<name>pierre</name>
</test>
<persoon type="NPS"></persoon><paard>wit</paard>
Так что, похоже, как генерируемая часть игнорирует выходной формат, пожалуйста, помогите
Вы вызываете свой статический метод без параметров, в то время как они требуют '$ xml' в качестве их первого параметра. Обратите внимание, что объекты передаются с помощью ref, поэтому нет необходимости в '&' – Xenos
@Xenos. Этот параметр есть, я написал код, на который я написал агию причину личной информации, которой не хватало –
@ Xenos также благодарит за примечание, не сообщив, что stupid me –