确定。真的希望有人能帮我回答以下问题。所以我使用XML数据存储区来为最后一年的项目提供持久性。这是XML文件的结构。
<?xml version="1.0"?>
<!DOCTYPE datastore SYSTEM "datastore.dtd">
<datastore>
<dataset>
<name>Test1</name>
<dataobject>
<userid>001</userid>
<adl1/>
<adl2/>
<adl3/>
<city>London</city>
<county/>
<postcode>SE1 7HS</postcode>
<country>United Kingdom</country>
<amount>300.0</amount>
<date>01/01/2013</date>
</dataobject>
</dataset>
<dataset>
<name>Test2</name>
<dataobject>
<userid>001</userid>
<adl1/>
<adl2/>
<adl3/>
<city>Tunbridge Wells</city>
<county>Kent</county>
<postcode>TN1 2GE</postcode>
<country>United Kingdom</country>
<amount>20</amount>
<date>01/07/2013</date>
</dataobject>
</dataset></datastore>
我希望用户能够做的一件事是添加一个新的数据集。很简单。所以我使用了以下小型jQuery函数和PHP脚本。
function addDataSetToXML(dataset){
$.ajax({
type:'GET',
url:'/phpScripts/addDataSet.php',
data:{dataset : dataset},
success:function(){
window.alert("Added dataset " + dataset + " to gsdatastore.xml");
},
error:function() {window.alert("Did not work");}
});
}
这里是addDataset.php:
<?php
$name = $_GET[$dataset];
$doc = new DOMDocument();
$xml = "../dataStore/gsdatastore.xml";
$doc->Load($xml);
$doc->formatOutput = true;
$newDataSetElement = $doc->createElement("dataset");
$newNameElement = $doc->createElement("name",$dataset);
$newDataSetElement->appendChild($newNameElement);
$root = $doc->documentElement;
$root->appendChild($newDataSetElement);
$doc->Save($xml);
?>
我在代码中找不到任何错误,当脚本运行时,我收到成功消息。我已经使用了Firebug并最终在响应消息中跟踪了以下内容(HTTP GET返回200 OK消息,因此它肯定找到了脚本并运行它)。
XML解析错误:未找到任何元素位置:moz-nullprincipal:{8b768c4c-ef3c-644a-ae97-dd38798b8ba1}第13行,第3列:
&GT?; - ^
有谁知道这意味着什么?我一直在努力。任何帮助都非常感激。