Ошибка синтаксического анализа XML при попытке обновить файл XML с помощью сценария PHP и jQuery

Хорошо. Очень надеюсь, что кто-то может помочь мне ответить на следующий вопрос. Поэтому я использую хранилище данных 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:

?> - ^

Кто-нибудь знает, что это значит? Это делает мою голову. Любая помощь с благодарностью.

0 ответов

Другие вопросы по тегам