tags:

views:

212

answers:

1

Dear friends,

I tried to

1) load an xml file using javascript as an object, say "note.xml" 2) then save the object to a new xml file, say "note_new.xml"

I did 1) but failed 2)

I tried to use method save() to do 2). After my failure, I checked ms site and they said save() is not supported....

could some one enlighten me how to do the save?

thank you!

here is the code:

<html>
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<h1>W3Schools Internal Note</h1>
<p><b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>

<script type="text/javascript">
if (window.ActiveXObject){
alert("there is ActiveXObject");
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false; 
xmlDoc.load("note.xml"); 
}else{
alert("i am not withActiveXObject!");
xhttp=new XMLHttpRequest();
xhttp.open("GET","note.xml",false);
xhttp.send("");
xmlDoc=xhttp.responseXML;
}
xmlDoc.save("note_new.xml"); 
</script>

</body>
</html>

update:

seems this is related to security issue. I appologize to those experienced programmers for my putting this question in a rush because it seems a newbie question.

A: 

Your problem is: javaScript does not have an input/output (I/O) API as it is a client-side scripting language and consequently has no access to the file system via the server. You would need to use a server-side scripting language to save data to a server. There may be hacks to solve your problem client-side, but they are probably either unsave or otherwise buggy. (btw: what api is the save method member of? Did you make that up?)

What you can do is save data temporarily to any DOM element (e.g. window, or a javaScript) object. There is however no way to make these changes permanent.

In your case, looking in to PHP scripting might be the best way to go.

FK82
nice answer. i was trying to avoid installing an addtional software ...thank you!
john
Hi, you're welcome! PHP is pretty accessible. So, no worries there.For what it's worth: for more complex applications there's absolutely no way around learning server-side scripting as you will need the capabilities of high-level programming languages such as `Java` (JSP/Servlets) or `C#` (ASP/.NET) for the logic of your application. If you split responsibilites between those and a client-side scripting (for user interaction) in an intelligent manner, then that will make things a lot easier (i.e. less convoluted, more structured) in the long run. So, there really is no good reason tu shun it.
FK82
Again, thank you for your wonderful advince! I'll try to bring PHP into the picture. have a great evening!
john
Welcome. Good luck with your project and thanks for accepting my answer!
FK82