Есть ли способ поиска строки в файле 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.
Вы можете использовать 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;
}
simplexml_load_string
илиsimplexml_load_file()
для разбораxml'. These function will return a
объект класса SimpleXMLElement`