2013-12-20 92 views
1

我不知道如何在PHP中創建搜索引擎,其中$_GET['ID']等於XML標籤屬性ID <guest id="xx">,並且僅從具有特殊ID的標籤提取數據。用PHP搜索屬性GET

你不知道如何解決這個問題?

<?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代碼,它不會永遠不會工作。

回答

0

這是非常好的SimpleXml,這是一個原生的php庫,用於將XML文件轉換爲可管理的對象。

例如:

<?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 
    } 

?> 
+0

是的,它的作品!但是「..-> id」不是。用「 - > ID」是的,當然我需要「id」這個ID <$ name> ='_GET ['ID'] { echo「 ...」; } – The1JJF1

+0

好吧,它或多或少像編號,只是要aceder屬性信息 –

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);