使用DOMDocument

时间:2016-11-11 15:52:05

标签: php xml domdocument

我正在尝试使用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" 语句,但我可能错了,因为在编程时我还是个新手,所以我试着从每个提示中学习你愿意提供。

0 个答案:

没有答案