PHP GET的XML搜索属性

时间:2013-12-20 18:59:44

标签: php html xml html5

我不知道如何在PHP中创建搜索引擎,其中$_GET['ID']在XML标记属性ID <guest id="xx">中相等,并且仅从具有特殊ID的标记中提取数据。

你不知道如何解决这个问题?

<?xml version="1.0" encoding="utf-8"?>
<quests>
    <quest id="1">
        <ID>1</ID>
        <QUEST>Katakomby pod městem</QUEST>
        <INFO>Asi nevíte že pod naším krásným městem je spousta tajných chodem, které pořádně nikdo neproskoumal. Jsou tu již dlouhá staletí a údajně naši předci v nich ukryli zlatý poklad.</INFO>
        <TIME>780</TIME><!-- 780 - 13 minut -->
        <ITEMS1></ITEMS1>
        <XPMIN>180</XPMIN>
        <MONEY>800</MONEY>
        <LVL>1</LVL>
    </quest>

    <quest id="2">
        <ID>2</ID>
        <QUEST>Oprava zříceného mostu</QUEST>
        <INFO>Před několika dny strhla záplava starý dřevěný most u radnice. Pomoz jej opravit.</INFO>
        <TIME>7200</TIME>
        <ITEMS1></ITEMS1>
        <XPMIN>250</XPMIN>
        <MONEY>250</MONEY>
        <LVL>4</LVL>
    </quest>
.....And more<quest id="xx"></quest>...
</quests>

我没有PHP代码,它从不运行。

2 个答案:

答案 0 :(得分:0)

使用SimpleXml非常简单,这是一个用于将XML文件转换为可管理对象的本机php库。

例如:

<?php
    $xmlStringFile = "<?xml version='1.0' standalone='yes'?><quests>....</quests>";
    $quests = new SimpleXMLElement($xmlStringFile);

    if ($_GET['ID'] == $quests->quest[0]->ID) {
        echo $quests->quest[0]->INFO
    }

?>

答案 1 :(得分:0)

使用DOMXPATH

$xml = 'your xml here';
$dom = new DOMDocument($xml);
$xp = new DOMXPath($dom);

$nodes = $xp->query("//quest[@id='{$_GET['id']}']");
$node = $nodes->item(0);