通过php搜索xml字符串的内容

时间:2015-11-20 12:25:37

标签: php xml

有没有办法使用PHP在XML文件中搜索字符串?

<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。

1 个答案:

答案 0 :(得分:0)

您可以将DOMDocumentDOMXPath结合使用。

尝试下面的示例代码:

$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;
}