【发布时间】:2018-04-02 13:50:30
【问题描述】:
首先,我知道已经有一些关于类似事情的问题(Searching an XML file using PHPLoad external xml file?),但我无法制作任何 PHP,所以以下(search.php)是我在 PHP 中复制粘贴的内容:
<html>
<head>
<title>Search</title>
</head>
<body>
<?php
$search = $_POST["search"];
$xml=simplexml_load_file("inhaltsverzeichniss.xml") or die("Error: Cannot create object");
$result = $xml->xpath('//array/entry/tags[.="$search"]');
while(list( , $node) = each($result)) {
echo '/array/entry/tags: ',$node,"\n";
}
?>
</body>
那么这是我的 HTML 代码(以防有人需要):
<form action="search.php" method="post" >
<input type="text" name="search" placeholder="search for stuff" >
<input type="submit" name="search_button" value="Suche" >
</form>
这是我要搜索的 XML 文档 (inhaltsverzichniss.xml):
<?xml version="1.0" encoding="UTF-8"?>
<array>
<entry>
<url>Zeitformen Spanisch.odp</url>
<name>Zeitformen Tabelle</name>
<tags>spanisch</tags>
</entry>
<entry>
<url>german-stuff.odt</url>
<name>etwas Deutsches</name>
<tags>german</tags>
</entry>
<entry>
<url>something_english.html</url>
<name>english things</name>
<tags>english</tags>
</entry>
<entry>
<url>other-data.fileextension</url>
<name>cool name</name>
<tags>etc.</tags>
</entry>
</array>
我要做的是搜索写在搜索表单中的标签,并给出整个相应的条目。 (如下:<a href"$url">$name</a><br>Tags: $tags)
编辑:这是我当前的带有多个标签的条目的 XML(将其更改为“标签”):
<array>
<entry>
<url>spanisch/Zeitformen_Spanisch.ods</url>
<name>Zeitformen Tabelle</name>
<tag>spanisch</tag>
</entry>
<entry>
<url>german-stuff.odt</url>
<name>etwas Deutsches</name>
<tag>deutsch</tag>
<tag>spanisch</tag>
<tag>englisch</tag>
</entry>
<entry>
<url>something_english.html</url>
<name>english things</name>
<tag>spanisch</tag>
<tag>englisch</tag>
</entry>
<entry>
<url>other-data.fileextension</url>
<name>cool name</name>
<tag>etc.</tag>
</entry>
</array>
【问题讨论】:
-
tags[.="' . $search .'"]' -
@splash 虽然骗子解决了一个问题,但它没有解释如何打印各种值。此外,即使使用正确的引号,XPath 也不正确。