通过php保存xml数据并使用$ variables

时间:2014-06-19 20:12:07

标签: php xml

我在这里看到很多关于将数据保存到xml的问题,我已经设法创建了一个表单(感谢那些提问和回答的人),只有一个小错误

这是代码,所以你知道我的意思

<?php

function insertxml($Iname,$Iurl)
{
    $doc = new DOMDocument;
    //$doc->preserveWhiteSpace = false;
    $doc->load("bookmark.xml");
    // we want a nice output
    //$doc->formatOutput = true;

    $root = $doc->getElementsByTagName('bookmark')->item(0);

    $title = $doc->createElement('url', $Iurl);
    $domAttribute = $doc->createAttribute('name');
    $domAttribute->value = ('$Iname');
    $title->appendChild($domAttribute);
    $newtitle = $root->appendChild($title);

    echo 'Wrote: ' . $doc->save("bookmark.xml") . ' bytes'; // Wrote: 72 bytes

}    

$Name = $_POST['name'];
$Url = $_POST['url'];

insertxml($Name,$Url);
?>

,表格如下:

<!DOCTYPE html>
<html>
<head>
<title> Xml Reader</title>
</head>
<body>

<form action="index.php" method="post">
Name: <input type="text" name="name"><br>
URL: <input type="text" name="url"><br>
<input type="submit">
</form>

</body>
</html>

代码工作正常但是当我在名称框中输入'Test'并在网址框中输入'http://test.com'时,它就像这样:

<url name="$Iname">http://test.com</url>

我想要的是

<url name="test">http://test.com</url>
<url name="(what ever name I put in the name box)">(what ever name I put in the url box)</url>

最后我应该为以下内容添加什么语法?:

$title = $doc->createElement('url', $Iurl);

1 个答案:

答案 0 :(得分:2)

从变量中删除引号

('$Iname')

应该是

($Iname)

然后删除不需要的大括号(没有任何内容可以分组):

($Iname)

应该是

$Iname