Я уже два дня прикладываю голову к стене, пытаясь понять, как получить PHP до кодировать XML, который я хочу. Я попробовал SimpleXML и обнаружил, что существуют серьезные ограничения, поэтому для теперь я использую DomDocument для удовлетворения моих потребностей. Моя проблема довольно простая, что такое правильный синтаксис?Как PHP DomDocument создает атрибуты?
Я извлекаю код из базы данных, а затем передаю его в xml. Структура XML должна быть в том же точном формате, что и тот, который я собираюсь опубликовать. Проблема в том, когда дело доходит до атрибутов. Вывод имеет три атрибута, которые нужно повторять двенадцать раз с разными значениями. Моя проблема заключается в том, чтобы выяснить, как визуализировать атрибуты, какой код необходим.
Вот XML:
<inits>
<version>18.05.04_EP1</version>
<source>Live</source>
<lowid>265067</lowid>
<highid>265068</highid>
<ql>300</ql>
<name>Ofab Shark Mk 1</name>
<inits slider="DEF>===========][<AGG" percent="100" init="430" />
<inits slider="DEF>==========][=<AGG" percent="90" init="530" />
<inits slider="DEF>=========][==<AGG" percent="81" init="630" />
<inits slider="DEF>========][===<AGG" percent="72" init="730" />
<inits slider="DEF>=======][====<AGG" percent="63" init="830" />
<inits slider="DEF>======][=====<AGG" percent="54" init="930" />
<inits slider="DEF>=====][======<AGG" percent="45" init="1030" />
<inits slider="DEF>====][=======<AGG" percent="36" init="1130" />
<inits slider="DEF>===][========<AGG" percent="27" init="1290" />
<inits slider="DEF>==][=========<AGG" percent="18" init="1590" />
<inits slider="DEF>=][==========<AGG" percent="9" init="1890" />
<inits slider="DEF>][===========<AGG" percent="0" init="2190" />
</inits>
Обратите внимание, что Inits содержит атрибуты, проценты и инициализации. Это будет отображаться 12 раз в этом примере, который получен из данных и вычислений php. Вот код, который я использую до сих пор. Примечание. Я пропускаю данные и функции вычисления и вручную заполняю данные.
$root = $doc->createElement('inits');
$root = $doc->appendChild($root);
$version = $doc->createElement('version');
$version = $root->appendChild($version);
$versiontext = $doc->createTextNode($patchNum);
$versiontext = $version->appendChild($versiontext);
$source = $doc->createElement('source');
$source = $root->appendChild($source);
$sourcetext = $doc->createTextNode('live');
$sourcetext = $source->appendChild($sourcetext);
$xlowid = $doc->createElement('lowid');
$xlowid = $root->appendChild($xlowid);
$xlowidtext = $doc->createTextNode($lowid);
$xlowidtext = $xlowid->appendChild($xlowidtext);
$xhighid = $doc->createElement('highid');
$xhighid = $root->appendChild($xhighid);
$xhighidtext = $doc->createTextNode($highid);
$xhighidtext = $xhighid->appendChild($xhighidtext);
$xql = $doc->createElement('ql');
$xql = $root->appendChild($xql);
$xqltext = $doc->createTextNode($ql);
$xqltext = $xql->appendChild($xqltext);
Куда я иду отсюда, чтобы получить 3 атрибута для работы, точно так же, как приведенный выше пример XML. Спасибо.
Если вы не получите ответа, улучшайте свой вопрос. У него серьезные проблемы в первый раз, вы не спросили, что вас беспокоит. Вы просто получили ответ на это по везению. Голосование закрывается. – hakre
Возможный дубликат [Хронология кодирования ошибок с PHP и SimpleXML] (http://stackoverflow.com/questions/14791894/trouble-encoding-xml-with-php-and-simplexml) – hakre
Ничего подобного, если вы набрали точки отталкивания от новичка , Первый вопрос был связан с SIMPLEXML. Когда я понял, что это тупиковый метод, я опубликовал о DOMDocumen, что делает его другим вопросом, хотя те же данные были отнесены. Что, если бы я попросил эти данные для JSON? Будет ли это дублировать? Я бы так не думал, но спасибо за советы. Я рад, что нашел этот сайт. –