Редактировать XML-файл с помощью JavaScript? - PullRequest
3 голосов
/ 19 июня 2009

Эй, ребята, я только изучаю JavaScript, и у меня есть вопрос, на который, я надеюсь, кто-то может ответить. Можно ли получить XML-файл (не HTML) с сервера, добавить / удалить / отредактировать отдельные его части с помощью клиентского JavaScript, а затем отправить его обратно на сервер, чтобы сохранить его? JSON или любой другой формат разметки / обмена данными тоже работает.

Ответы [ 5 ]

3 голосов
/ 19 июня 2009

Да. Использование jQuery ...

$.get("myGetUrl.php", function(data) {
  var xml = $(data);

  xml.find("myNode").text("newValue");

  $.post("myPostUrl.php", xml, function(resp) {
    alert(resp);
  }, "xml");
});
0 голосов
/ 19 июня 2009

Конечно. Вы можете использовать XMLHttpRequest для извлечения XML-документа, если сервер обслуживает его, используя MIME-тип text / xml. Свойство responseText выдаст вам текст XML, но браузер также проанализирует XML для вас и предоставит дерево DOM в responseXML. Вы можете изменить этот DOM по своему усмотрению, а затем сериализовать его и отправить обратно на сервер.

Вы также можете использовать JSON таким же образом. Вы используете XMLHttpRequest для получения данных с сервера, затем jsonData = eval(xhr.responseText) для преобразования данных JSON в объекты JavaScript.

Каждая основная библиотека JavaScript имеет модули / функции, помогающие выполнять любой из этих методов. XML и JSON - два самых популярных метода обмена данными в приложениях Ajax.

0 голосов
/ 19 июня 2009

Да. Вы можете читать XML-документ через AJAX и просматривать его DOM, как если бы вы использовали HTML. Если вы используете фреймворк, такой как jQuery, это еще проще.

0 голосов
/ 19 июня 2009

Конечно. Вы можете использовать объект XMLHttpRequest, чтобы сделать запрос для файла, выполнить любые необходимые операции с данными, а затем опубликовать весь документ обратно, используя другой XMLHttpRequest. Вы можете сделать это с помощью XML (и это, вероятно, проще всего для загрузки исходного документа), но вам, вероятно, будет проще всего использовать JSON для отправки сообщения обратно на сервер.

Вам понадобится серверный скрипт (например, PHP, ASP, Ruby) для получения опубликованных данных, форматирования их по желанию (т.е. преобразования JSON в документ XML) и сохранения их либо в виде файла, либо в базе данных. .

Этот вопрос слишком общий для того, чтобы входить в конкретную реализацию, но если вам нужна дополнительная помощь по этим шагам, просто спросите.

0 голосов
/ 19 июня 2009

Да, это возможно. Найдите "XML DOM", и вы можете легко отредактировать его на клиенте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...