我正在尝试使用DOMDocument从PHP数组创建本地服务器上的XML文件,但是我遇到了一些问题,即文件不想从我的代码中创建自己。
我被困住了,不知道接下来要创建该文件该做什么,所以任何建议都非常受欢迎。
下面我附上我现有的代码,这是两个文件,第一个HTML是简单形式,第二个是PHP脚本:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<form action="generetingXMLFile.php" method="post" target="_blank">
<div id="row">
<span>1</span>
<input type="text" size="2" name="numbers[]">
<input type="text" name="nicknames[]">
</div>
<div id="row">
<span>2</span>
<input type="text" size="2" name="numbers[]">
<input type="text" name="nicknames[]">
</div>
<div id="row">
<span>File's name:</span>
<input type="text" name="fileName">
</div>
<input type="submit">
</form>
</body>
</html>
PHP脚本看起来像这样。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<?php
$numbers = $_POST["numbers"];
$nicknames = $_POST["nicknames"];
$ac = array_combine($numbers, $nicknames);
print_r ($ac);
$fileName = $_POST["fileName"];
$xml = new DOMDocument("1.0", "UTF-8");
$xml -> preserveWhiteSpace = false;
$xml -> formatOutput = true;
$xmlTeam = $xml -> createElement("Team");
foreach ($ac as $key => $value) {
$xmlPlayer = $xml -> createElement("Player");
$xmlNumber = $xml -> createElement("Number", $key);
$xmlNickname = $xml -> createElement("Nickname", $value);
$xmlPlayer -> appendChild($xmlNumber);
$xmlPlayer -> appendChild($xmlNickname);
$xmlTeam -> appendChild($xmlPlayer);
}
$xml -> appendChild($xmlTeam);
$xml -> save($fileName.".xml");
if ($xml -> save($fileName.".xml") !== false) {
echo "OK!";
}
else {
echo "Error.";
}
echo "<p>".$xml -> saveXML()."</p>";
?>
</body>
</html>
所以:Print_r
语句打印正确,但if
语句回显“错误。”,而$xml -> saveXML()
只回显nodeValues
。
因为你可以看到我的DOMDocument
语句中的问题是关于我的#include "a.h"
#include "b.h"
语句,但我可能错了,因为在编程时我还是个新手,所以我试着从每个提示中学习你愿意提供。