需要使用PHP通过HTML表单提交在站点上显示API结果(XML)

时间:2015-02-06 15:07:06

标签: php html xml api

我正在努力让这个工作起来,但我一直很难将它拉到一起。在实施代码并进行小的更改后,我看到建议没有帮助。这不是一个与工作或学校相关的项目。只是为了让我的爱好更容易。所以我在网页上有一个可以提交数据的表单。我提交数据的API以XML格式回复。这很有效。我可以将表单中的数据传递给API并获取原始XML。但这并不容易阅读。因此,我创建了一个php文件,希望能够以更容易阅读的方式提取XML并进行排列。

适当的系统如下所示:

HTML文件

<form method="post" action="search.php">
value0:<input type="text" size="12" maxlength="12" name="0"><br />
value1:<input type="text" size="12" maxlength="36" name="1"><br />
value2:<input type="checkbox" value="2" name="2"><br />
<input type="submit" value="submit" name="submit">
</form>

PHP文件

<?php
$zero = $_POST['0'];
$one = $_POST['1'];
$two = $_POST['2'];
$url = "http://www.website.com/file.asmx/p?apikey=XXXXXX&two='. $two .'&zero='. $zero .'"
$xml = json_decode($url);
$three = $xml->attribute1;
$four = $xml->attribute2;
$five = $xml->attribute3;
/*Form Debug*/
echo "<br>"
echo $_POST['0'];
echo "<br>"
echo $_POST['1'];
echo "<br>"
echo $_POST['2'];
echo "<br>"
/*/Form Debug*/

echo "V1: " . $three . "<br>";
echo "V2: " . $four . "<br>";
echo "V3: " . $five . "<br>";

?>

从UTF-8 XML V1中的API返回结果

<products>
<item>
<attribute0>11407</attribute0>
<attribute1>12345</attribute1>
<attribute2>abcde</attribute2>
<attribute3>!@#$%</attribute3>
<link>http://www.website.com</link>
</item>
</products>

1 个答案:

答案 0 :(得分:0)

还有另一个SO问题,关于如何使用SimpleXML(PHP)创建理想的XML格式有一个非常相似的答案。

看看这里:

PHP XML how to output nice format