Мне интересно, возможно ли создать XML файл с некоторыми данными в Javascript? У меня есть данные, хранящиеся в переменных.
Я немного искал Google, и похоже, что он много говорил. Я думал, что могу использовать XMLWriter , например:
как указано в этом уроке: Учебник EHow
Однако, когда я выполняю этот код, я получаю следующую ошибку:
Любые идеи о том, как я могу начать с этого?
Отказ от ответственности: Следующий ответ предполагает, что вы используете среду JavaScript в веб-браузере.
JavaScript обрабатывает XML с помощью объектов XML DOM. Вы можете получить такой объект тремя способами:
1. Создание нового объекта DOM XML
Первый аргумент может содержать URI пространства имен создаваемого документа, если документ принадлежит одному.
2. Получение XML файла с помощью XMLHttpRequest
3. Разбор строки, содержащей сериализованный XML
Когда вы получили объект XML DOM, вы можете использовать методы для его управления, например
Примечание: Важно, чтобы вы не использовали методы, предоставляемые пространством имен документов, i. е.
Это создаст узлы HTML вместо узлов XML и приведет к node с именами нижних регистров. Имена тегов XML чувствительны к регистру, в отличие от имен тегов HTML.
Вы можете сериализовать объекты XML DOM следующим образом:
У меня есть следующий код:
Я создал dbbackup.xml в том же месте, и файл XML выглядит так:
Но после запуска моего script файл xml не обновляется.
4 ответа
1 [2012-08-14 09:36:00]
JavaScript предназначен только для модификации файла в памяти, который загружается внутри рамки браузера.
Подумайте о браузере как песочнице, в которую могут играть ваши дети (html, xml и т.д.). Пока Джонни (xml) играет в песочнице, все хорошо. Но если бы Джонни разрешили играть за пределами этой песочницы, просто подумайте о хаосе, который может быть сделан на вашей машине веб-сайтами.
Нет НИКАКИХ способов, JavaScript может навсегда влиять на файл на вашем локальном компьютере сам по себе. Он может воспроизводиться только в песочнице (локально, он может совершать вызовы на Java или другой API, чтобы повлиять на изменение, но на то, что все другое дело).
JavaScript — только клиентская сторона. Если вы ожидаете, что он повлияет на сервер, он может сделать это только через обратные вызовы на сервер. На сервере вам понадобится какое-то программирование (asp.net, java, php, html, others), чтобы получать и отвечать на этот вызов и что-то делать с ним.
JavaScript сам по себе очень мощный. но только inisde песочница (браузер). Чтобы это повлияло на что-либо еще за пределами этого браузера, оно должно зависеть от других уже существующих программ и готовых для получения этих запросов.
И все это во имя безопасности, в основном.
1 Huang Zhu [2013-07-12 16:28:00]
Вы можете собирать данные с веб-страницы на стороне клиента и отправлять их на сервер (ajax), который затем генерирует XML файл и отправляет ссылку на файл (ajax). Используйте javascript для создания ссылки для загрузки, используя ссылку, возвращаемую сервером.
Так я делаю, чтобы решить проблему в одном из моих проектов.
1 Polyov [2012-08-14 09:01:00]
Javascript не может изменять файлы на диске, он работает только для клиента в клиентском веб-браузере.
Чтобы на самом деле писать в файлы и на сервере, вы должны использовать серверные языки и технологии, такие как PHP или ASP.
1 Mike [2012-08-14 09:11:00]
Я сделал это — создав XML на стороне клиента, а затем используя повседневную практику Майк
Я работаю над веб-приложением, которому необходимо отправить XML на сервер. Я хотел бы создать XML-документ в памяти на стороне клиента, но используя процедуры манипуляции XML, вместо того, чтобы добавлять бесчисленные строки вместе. Я надеюсь, что jQuery может мне помочь.
Скажем, мне нужно сгенерировать этот (игрушечный) XML-документ с помощью JavaScript:
Чтобы начать, мне нужно создать какой-то объект документа XML с корнем «report». Я предполагаю, что один из них должен быть близок, но никто из них не работает правильно, и/или я не могу понять, как правильно использовать объект:
Теперь я хочу создать и добавить элементы. Как мне это сделать? Я представляю себе что-то вроде этого:
Без адресации следует ли использовать jQuery для построения XML, вот несколько идей о том, как вы можете это сделать:
Второй подход кажется хорошим способом. Он был разработан для работы с документами XML. После создания объекта документа используйте стандартные методы обработки XML DOM для создания всего документа.
Это может показаться немного подробным, но это правильный способ создания XML-документа. jQuery фактически не создает какой-либо XML-документ, а просто использует свойство innerHTML для анализа и восстановления DOM с учетом строки HTML. Проблема с этим подходом заключается в том, что когда имена тегов в вашем XML сталкиваются с именами тегов в HTML, например