使用javascript和jsp更新xml文件

时间:2015-02-12 13:04:02

标签: javascript xml jsp

我们在JSP中创建一个Web UI并使用一些Javascript。  我需要在文本框中加载xml文件内容并允许编辑它并将更改写入xml文件。

在我的代码中,我可以编辑它,但更改不会写回xml文件。我把我的.jsp文件放在下面..

.jsp文件

    <html>
<head>
<style>
table, th, td {
    border: 1px solid black;
    border-collapse:collapse;
}
th, td {
    padding: 5px;
}
 

</style>

</head>
<body>
Title: <input type="text" id="title" value=""><br>
Id: <input type="text" id="id" value=""><br>
Updated: <input type="text" id="updated" value=""><br>
<button onclick="myFunction()">Save Changes</button> 
<script>
//if (window.XMLHttpRequest)
  //{// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  //}
//else
  //{// code for IE6, IE5
  //xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  //}
xmlhttp.open("GET","values.xml",false);
try {
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
}
catch(err) {
    alert( err.message);
}
//document.write("<table><tr><th>Title</th><th>Updated</th><th>Id</th></tr>");
var x=xmlDoc.getElementsByTagName("feed");
for (i=0;i<x.length;i++)
  {
	document.getElementById("title").value=x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
	document.getElementById("id").value=x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;
	document.getElementById("updated").value=x[i].getElementsByTagName("updated")[0].childNodes[0].nodeValue;
  /*document.write("<tr><td>");
  document.write(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write(x[i].getElementsByTagName("updated")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write(x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
  document.write("</td></tr>");
  */
  }
//document.write("</table>");

function myFunction() {
	 try{
	//document.getElementById("title").value="Hello";
	x[0].getElementsByTagName("title")[0].childNodes[0].nodeValue = document.getElementById("title").value;
		x[0].getElementsByTagName("id")[0].childNodes[0].nodeValue = document.getElementById("id").value;
		x[0].getElementsByTagName("updated")[0].childNodes[0].nodeValue = document.getElementById("updated").value;
	//document.write("<table><tr><th>Title</th><th>Updated</th><th>Id</th></tr>");
	document.write("<p>");
	  document.write(x[0].getElementsByTagName("title")[0].childNodes[0].nodeValue);
	  document.write("</p><p>");
	  document.write(x[0].getElementsByTagName("updated")[0].childNodes[0].nodeValue);
	  document.write("</p><p>");
	  document.write(x[0].getElementsByTagName("id")[0].childNodes[0].nodeValue);
	  document.write("</p>");
	 
	  xmlDoc.save("values.xml");
	  return(xmlDoc);
	  }
	  catch(err) {
		    alert( err.message);
		}
	  //document.write("</table>");
}
 
</script>


</body>
</html>

.xml文件

<?xml version="1.0" encoding="utf-8"?>

示例Feed

2003-12-13T18:30:02Z

瓮:UUID:60a76c80-d399-11d9-b93C-0003939e0af6    Helo工作

0 个答案:

没有答案