Création d'un fichier XML à l'aide de Javascript
J'ai le code suivant:
xmlDoc=loadXMLDoc("dbbackup.xml");
x=xmlDoc.getElementsByTagName("record");
alert(x);
for (i=0;i<3;i++) {
newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("first");
alert("x : "+x[i]);
alert("newtext :"+newtext.nodevalue);
x[i].appendChild(newel);
alert("sd");
}
function loadXMLDoc(dname) {
if (window.XMLHttpRequest) {
xhttp=new XMLHttpRequest();
} else {
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}
J'ai créé dbbackup.xml
dans le même emplacement et le fichier XML ressemble:
<sticky>
<record></record>
</sticky>
Mais après l'exécution de mon script le xml
fichier n'est pas mis à jour.
OriginalL'auteur user1597148 | 2012-08-14
Vous devez vous connecter pour publier un commentaire.
Javascript ne peut pas modifier les fichiers sur le disque, il ne fonctionne que pour le client dans le navigateur du client web.
D'écrire des vers et à partir de fichiers sur un serveur, vous devez utiliser des langages côté serveur et des technologies comme PHP ou ASP.
Pas de. Javascript n'a pas de capacité à interagir avec un serveur sans langages côté serveur. Les requêtes AJAX fichiers, mais c'est tout.
En ce qui concerne l'SomekidwithHTML commentaire sur AJAX, vous pouvez créer le XML avec JavaScript, puis en utilisant quelque chose comme un jQuery AJAX pour ces informations à un contrôleur de méthode. Vous pouvez ensuite utiliser le programmateur pour enregistrer sur le disque/base de données/whatever. Je viens d'un MVC.NET fond (exemple de mise en œuvre ici stackoverflow.com/a/8517361/201648), mais il devrait être possible de mettre en œuvre ce même schéma dans la plupart des langages web/cadres. J'ai cru devoir insister sur ce point un peu puisque c'est un motif assez commun.
Comme un léger côté piste, si vous êtes comme l'utilisation de JavaScript, il y a quelques côté serveur implémentations de JavaScript telles que node.js qui peuvent être d'intérêt pour vous (voir la section nodejs.org).
OriginalL'auteur Polyov
J'ai fait cette prise de XML côté client puis à l'aide de tous les jours praksis
Mike
fonction makeSlot() {
OriginalL'auteur MikeyKennethR
SomeKidWithHTML est droit.
JavaScript est conçu exclusivement pour modifier un fichier, dans la mémoire, qui est chargé à l'intérieur d'un navigateur cadre.
Penser le navigateur comme un bac à sable que vos enfants (html, xml, etc.) peuvent jouer dans. Aussi longtemps que Johnny (xml) est dans le bac à sable à jouer, tout est bien. Mais si Johnny ont été autorisés à jouer en dehors de la sandbox, il suffit de penser aux ravages que pourrait être fait sur votre ordinateur par les sites web.
Il n'existe AUCUN MOYEN d'un JavaScript peut permanentally affecter un fichier sur votre machine locale, par lui-même. Il ne peut jouer à l'intérieur du bac à sable (localement, il peut faire des appels à Java, ou une autre API, pour changer les choses, mais c'est une toute autre affaire).
JavaScript côté client seulement. Si vous vous attendez à ce qu'il affecte un serveur, il ne peut le faire qu'à travers des appels vers le serveur. Sur le serveur, vous aurez besoin d'une sorte de programmation (asp.net, java, php, html, autres), à recevoir et à répondre à l'appel et faire quelque chose avec elle.
JavaScript, par lui-même, est très puissant... mais seulement inisde le bac à sable (navigateur). Pour qu'il affecte rien d'autre en dehors de ce navigateur, il doit compter sur d'autres programmes déjà en place et prêt à recevoir ces demandes.
Et c'est au nom de la sécurité, la plupart du temps.
OriginalL'auteur
Vous pouvez collecter des données à partir de la page web côté client et de les envoyer au serveur (ajax), qui va alors générer le fichier xml et envoyer un lien vers le fichier (ajax). L'utilisation de javascript pour générer un lien de téléchargement en utilisant le lien renvoyé par le serveur.
C'est la façon dont je le fais pour résoudre le problème dans un de mes projet.
OriginalL'auteur Huang Zhu