Поиск содержимого строки XML по php

1

Есть ли способ поиска строки в файле XML с помощью PHP?

<xml>
<some_tag>
  <cont>Random string</cont>
  <shortcut>RStr</shortcut>
</some_tag>
<some_tag>
  <cont>Message</cont>
  <shortcut>MSG</shortcut>
</some_tag>
</xml>

Я ищу способ, которым я могу искать "Случайную строку" и получить ярлык ярлыка (в этом случае RStr). Если ничего не найдено, я хочу вывести false.

  • 0
    Выводит ложь вместо Где код, который выводит ложь?
  • 0
    Вы можете использовать simplexml_load_string или simplexml_load_file() для разбора xml'. These function will return a объект класса SimpleXMLElement`
Теги:

1 ответ

0

Вы можете использовать DOMDocument в сочетании с DOMXPath.

Попробуйте пример кода ниже:

$xml = "<xml>
<some_tag>
  <cont>Random string</cont>
  <shortcut>RStr</shortcut>
</some_tag>
<some_tag>
  <cont>Message</cont>
  <shortcut>MSG</shortcut>
</some_tag>
</xml>";


$searchCont = "Random string";

$dom = new DOMDocument();
$dom->loadXML( $xml );

$xpath = new DOMXPath($dom);
$tags = $xpath->query('//some_tag/cont[contains(.,"'.$searchCont.'")]/../shortcut');

foreach ($tags as $tag) {
    // this is your shortcut
    echo $tag->nodeValue;
}
  • 0
    Исправляемая фатальная ошибка: объект класса DOMNodeList не может быть преобразован в строку в /home/blah/bablala/work_in_proggerss/index.php в строке 21
  • 0
    я просто добавил echo $ tags; и положить его на <? php?>
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню