如何使用PHP输入进行适当的XML布局

时间:2013-06-02 03:04:03

标签: php xml makefile

我知道这些根本不安全,但它仍处于测试阶段之前,我只是在寻找功能。所以,我有一个用户输入区域,用于输入信息。从那里,信息被发送到PHP文件,从那里使它成为XML文件。唯一的问题是,没有标签,所以我将向您展示用于创建XML文件和XML文件的代码。

HTML

<form action="insertdata.php" method="post">
        Data1<input name="data" value="" type="text" placeholder="Data">
            Data2 <input name="data2" value="" type="text" placeholder="Data">
            <input type="submit" value="Submit">
        </form>

PHP

  $xml = new DOMDocument("1.0");
$data = $xml ->createElement ("Data");
$datat = $xml -> createTextNode($_POST['data']);
$data = $xml ->appendChild ($datat);

$data1 = $xml -> createElement ("Data1");
$data1t = $xml -> createTextNode ($_POST['data1']);
$data1 = $xml -> appendChild ($data1t);


//echo "<xmp>".$xml -> saveXML (). "</xmp>";
$xml ->save("'".$_POST[data]."'.xml") or die ("error creating file");

所以,我的问题不是创建XML文件,而是XML文件看起来像这样:

<?xml version="1.0"?>
Datainput
datainput1

为什么标签中的数据不包含在文件中? 另外,你怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您创建了元素,但从未使用它们。 $data$data1一旦创建就永远不会被使用,所以你所做的只是将两个文本节点附加到根元素。你想要更像

的东西
$xml = new DOMDocument("1.0");
$data = $xml->createElement('Data'); // Create <Data>
$text = $xml->createTextNode($_POST['data']);  // fill in text node
$data->appendChild($text);  // put textnode inside <Data>...</Data>
$xml->appendChild($data); // insert <Data> into the XML document.