Я пытаюсь разработать горизонтальное меню, управляемое xml, самостоятельно, как частный проект.
Но, кажется, я застрял .. Грубо. .
XML File (navigation.xml)SImpleXML XPath получает строковое значение из узла XML
<navigation>
<menu>
<link>url</link>
<tag>hover help text</tag>
<text>Link text</text>
</menu
</navigation>
Итак, у меня есть переменная storring старую ссылку/текст/имя тега, и я хочу, чтобы обновить его через SimpleXML/XPath .. Но это не как представляется, работают ..
Код PHP:
$load = SimpleXML_load_file('database/navigation.xml');
foreach($load->xpath("menu[@link=". $link ." and @tag=". $tag ." and @text=". $text ."]") as $item) {
$item->link = $link2; //link2->new link value, $link->old value
$item->tag = $tag2; //tag2->new tag value, $tag->old value
$item->text = $text2; //text2->new text value, $text->old value
}
$load->asXML('database/navigation.xml');
Есть ли способ заставить это работать? Заранее спасибо!
Спасибо за первый комм! Я сделал то, что вы написали, но он просто возвращается на страницу администратора (у меня был заголовок, если sscript правильно завершен), но ссылка/тег/текст не обновляется, если я изменяю его значение .. любые идеи? – Pr1nceJ4x
То, что вы сказали, выходит за рамки исходного вопроса, то, что я предлагаю, смотрит на ваш объект до и после цикла «foreach», чтобы узнать, обновляется ли он, другая возможность заключается в том, что вам нужны кавычки вокруг ваших xpath vars (См. Мое редактирование) – Scuzzy
Хорошо, я попробую, когда вернусь домой. Один вопрос относительно вашего редактирования: в чем причина использования обратных косых черт перед кавычками? – Pr1nceJ4x