【问题标题】:How to change XML node JavaScript or PHP如何更改 XML 节点 JavaScript 或 PHP
【发布时间】:2016-06-20 00:16:01
【问题描述】:

我正在尝试创建一个评级系统。

我有一个 XML 文件,其中包含以下信息:

<?xml version="1.0" encoding="ISO-8859-1"?>
<PROGRAMMEDATA> 
    <PROGRAMME id="1">
        <TITLE>Arrow</TITLE>
        <IMAGE>img/arrow.jpg</IMAGE>
        <POINTS>0</POINTS>
    </PROGRAMME>
    ...etc
<PROGRAMMEDATA>

然后我有一个表格,其中包含程序选项和 1 到 5 的分数。

<form>
    <select id="name">
        <option selected value=""></option>
        <option value="1">Arrow</option>
        <option value="2">You, Me and Dupree</option>
        <option value="3">Fargo</option>
        <option value="4">Flash</option>
    </select>
    <select id="rating">
        <option selected value="">stars</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
    </select>
    <input type="submit" value="Submit rating" onClick="saveRating()" />
</form>

这个想法是您可以选择一个程序,然后选择一个评级。然后您可以提交它,然后评分将添加到 XML 文件中的相应程序中。

我尝试使用 javascript 捕获表单值,但我不知道如何将值存储在 XML 文件中。

var name = document.getElementById("name").value;
var rating = document.getElementById("rating").value; 

我想到的另一种方法是使用 PHP,并使用 DOMDocument,但是我不能让它附加 POINTS,它只会添加到 XML 文件的底部。

非常感谢任何帮助。

【问题讨论】:

  • 你说追加积分,但你的意思是积分?你能分享一下你到目前为止得到的php吗?

标签: javascript php html xml


【解决方案1】:

这样的事情应该可以工作。

$file ="ratings_file.xml";

$title="test";
$image="img/arrow.jpg";
$points=0;

//load xml object
$xml= simplexml_load_file($ratings_file);

//assign title
$xml->PROGRAMME->title = $title;

//assign image
$xml->PROGRAMME->image = $image;

//assign points
$xml->PROGRAMME->points = $points;

//store the value into the file
file_put_contents($ratings_file, $xml->asXML());

【讨论】:

    猜你喜欢
    • 2021-12-24
    • 2012-08-07
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    相关资源
    最近更新 更多