使用PHP和URL变量动态显示XML
我是一名游戏作者和设计师,我们使用XML文件作为对话引擎。我试图在一个网站上显示对话供我的团队查看,我希望能够基于URL变量动态显示XML的某些部分或“章节”。我使用PHP来实现这一点 下面是一个非常简单的XML结构示例:使用PHP和URL变量动态显示XML,php,xml,url,dynamic,Php,Xml,Url,Dynamic,我是一名游戏作者和设计师,我们使用XML文件作为对话引擎。我试图在一个网站上显示对话供我的团队查看,我希望能够基于URL变量动态显示XML的某些部分或“章节”。我使用PHP来实现这一点 下面是一个非常简单的XML结构示例: <dialogues> <dialogue id="0"> <line id="0_1" name="John">Line 1</line> <line id="0_2" name=
<dialogues>
<dialogue id="0">
<line id="0_1" name="John">Line 1</line>
<line id="0_2" name="Eric">Line 2</line>
<line id="0_3" name="Ben">Line 3</line>
</dialogue>
<dialogue id="1">
<line id="1_1" name="Sarah">Line 1</line>
<line id="1_2" name="Jessica">Line 2</line>
<line id="1_3" name="Kelly">Line 3</line>
</dialogue>
</dialogues>
所以你可以看到我有一个
$chapter
变量,我会在URL中得到?c=
,我只是不知道从那里做什么。我将如何处理这段代码,以仅显示(比如)基于URL中的?c=1
的
中的行?尝试使用xpath;它是为这种情况设计的。下面是一个如何获得每一行对话的示例
foreach ($xml->xpath("//dialogue[@*])/line") as $line)
echo $line;
这里有一个有用的参考资源,过去发生在我身上。:)XML?第一个想法:xpath:)它也适用于格式良好的html。如果这解决了您的问题,请标记为:)
foreach ($xml->xpath("//dialogue[@*])/line") as $line)
echo $line;