Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Добавление данных в xml файл (https://javascript.ru/forum/dom-window/23165-dobavlenie-dannykh-v-xml-fajjl.html)

Arka1m 14.11.2011 20:37

Добавление данных в xml файл
 
Добрый вечер.
Есть xml файл с такой структурой:
Код:

<?xml version="1.0" encoding="UTF-8"?>
<tp>
<main>
        <code>
КОД
        </code>
        <name>
НАИМЕНОВАНИЕ
        </name>
        <nomer>
НОМЕР
        </nomer>
        <razrab>
РАЗРАБОТЧИК
        </razrab>
</main>
</tp>

И есть html-форма:
Код:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; Charset=UTF-8"> 
<title>ТИС-деталь</title>
<script type="text/javascript" src="jquery-1.7.min.js"></script>

</head>
<body>
<link rel="stylesheet" type="text/css" href="style.css"></link>
<table>
        <tr>
                <td>Код ТП</td>
                <td><input type="text" width=200 id=code></td>
        </tr>
        <tr>
                <td>Наименование изделия</td>
                <td><input type="text" width=200 id=name></td>
        </tr>
                <tr>
                <td>Номер детали</td>
                <td><input type="text" width=200 id=nomer></td>
        </tr>
        <tr>
                <td>Разработчик</td>
                <td><input type="text" width=200 id=razrab></td>
        </tr>

<tr>
<td><br><br>Здесь должна быть кнопочка SAVE</td>
<td><br><br>Здесь кнопочка выход без сохранения EXIT</td>
</tr>
</table>
</body>
</html>

Как реализовать добавление данных из этой формы в данный xml файл без помощи php?
Необходимо, чтобы новые данные дописались в конце (или начале) этого xml файла, с сохранением структуры файла а данные,которые уже там есть не потерлись.

griffonn 14.11.2011 21:16

Javascript - никак. Только отправить на сервер и server-side'ом записать в нужный файл.

Почемучкин 14.11.2011 23:26

JavaScript работает в браузере.
Если файл нужно обновлять на сервере, то именно на сервере какая-то программа должна его открыть и что-то в него записать. Это может быть PHP, Perl, Java или другой cgi-скрипт на стороне сервера.
Если нужно записывать не на сервере а на локальном компьютере, то тогда у JavaScript просто не хватит полномочий - браузер не позволяет обычному скрипту хозяйничать на диске. Но вот если написать расширение для браузера, с использованием JavaScript, то тогда полномочия можно получить - только это расширение придется инсталлировать в браузер. Может быть можно использовать не JavaScript, а что-то другое - например Java апплет (не путать с JavaScript) - это что-то вроде ActiveX.

Arka1m 15.11.2011 17:49

с помощью ajax можно считывать данные из файла, а с помощью него же нельзя записывать?
Разговор идет именно о локальном компьютере. На сервере с помощью пхп я представляю как это сделать.

griffonn 15.11.2011 18:41

ajax ( =javascript) не может писать в файлы, только читать, тем более на локальной машине, потому что origin policy. используй php.

была идея наколдовать .hta, но это костыль на костыле и только на винду.

Почемучкин 16.11.2011 08:02

Или Java апплет используй, так как php еще нужно установить и как-то запустить на локальном компьютере. Можешь еще посмотреть на Flash - он на javascript подобном языке работает. Может Flash сумеет записывать в файл.

Gozar 16.11.2011 11:08

Цитата:

Сообщение от Почемучкин (Сообщение 136839)
Или Java апплет используй, так как php еще нужно установить и как-то запустить на локальном компьютере.

А java не нужно устанавливать?

Поставь себе денвер и юзай php на локалке. Насколько я помню он ставиться в два клика одним пальцем, даже дресированная макака справится.

Почемучкин 16.11.2011 23:59

Java часто уже предустановлена. Согласись, что это стандартная вещь. А если еще нет - то полезно поставить. :) В отличие от php, который нужен только вебразработчикам, но не пользователям. А тем более локальный вебсервер...
Хотя если решение только под себя - можно, даже проще, чтобы джаву не изучать.

Gozar 17.11.2011 01:16

Цитата:

Сообщение от Почемучкин (Сообщение 137029)
Java часто уже предустановлена. Согласись, что это стандартная вещь.

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

Цитата:

Сообщение от Почемучкин (Сообщение 137029)
А если еще нет - то полезно поставить.

А в чём собственно польза?

Почемучкин 18.11.2011 10:44

А в чем польза от .NET? А от Flash? Silverlight?
В любом случае - браузер предложит установить Java (полуавтоматически), а вот php + локальный вебсервер он не предложит установить вообще. Если речь об универсальном решении, которое сможет заработать очень легко и практически везде - то Java. Если только для себя - то php (ну можно еще сайт сделать, что лучше всего, но не похоже, чтобы такое решение устроило).


Часовой пояс GMT +3, время: 13:12.