使用 Javascript 创建 XML 文件
Creating an XML file using Javascript
我有以下代码:
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;
}
我在同一位置创建了dbbackup.xml
,XML文件如下所示:
<sticky>
<record></record>
</sticky>
但是运行我的脚本后,xml
文件没有得到更新。
Javascript 不能修改磁盘上的文件,它只能在客户端的 Web 浏览器中为客户端运行。
要实际写入服务器上的文件,您必须使用服务器端语言和技术,如 PHP 或 ASP。
我做到了 - 在客户端制作 XML,然后使用日常 praksis话筒
函数 makeSlot() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) showBon(); }
xmlhttp.open("POST","crMakeSlot.php",true);
xmlhttp.send(wrapUp());
}
/***
* make the final transaction - using XML
*/
function wrapUp () {
var transaction = document.implementation.createDocument("","", null);
var operator = document.createElement("operator");
var textblok1 = document.createTextNode(document.getElementById("rText").value);
operator.appendChild(textblok1);
var root = document.createElement("transaction");
root.setAttribute("tstamp", now);
root.setAttribute("sequenceno", zSequenceNo.textContent);
if (parseInt(document.getElementById("zDankort").value) > 0) root.setAttribute("dankort", document.getElementById("zDankort").value);
if (parseInt(document.getElementById("zCash").value) > 0) root.setAttribute("cash", document.getElementById("zCash").value);
if (parseInt(document.getElementById("zCredit").value) > 0) root.setAttribute("credit", document.getElementById("zCredit").value);
if (parseInt(document.getElementById("zCheck").value) > 0) root.setAttribute("check", document.getElementById("zCheck").value);
if (parseInt(document.getElementById("zGiftcard").value) > 0) root.setAttribute("giftcard", document.getElementById("zGiftcard").value);
if (parseInt(document.getElementById("zVoucher").value) > 0) root.setAttribute("voucher", document.getElementById("zVoucher").value);
root.appendChild(operator);
var divObj = document.getElementsByTagName("div");
/***
* when column value is 4, then we have our data complete - next cycle
*/
for (ix = 0; ix < divObj.length; ix++) {
switch (divObj[ix].getAttribute("column")) {
case "1": var row = document.createElement("row"); row.setAttribute("item",divObj[ix].textContent);
case "2": row.setAttribute("price",divObj[ix].textContent);
case "3": row.setAttribute("quantum",divObj[ix].textContent);
case "4": root.appendChild(row);
default: break;
}
}
transaction.appendChild(root);
return(transaction);
}
SomeKidWithHTML 是对的。
JavaScript 旨在仅修改内存中加载在浏览器框架中的文件。
将浏览器视为您的孩子(html,xml等)可以在其中玩的沙盒。只要约翰尼(xml)在沙盒中玩,一切都很好。但是,如果允许约翰尼在沙盒之外玩,想想网站可以在你的机器上造成的破坏。
JavaScript 本身无法永久影响本地计算机上的文件。它只能在沙箱内播放(在本地,它可以调用 Java 或其他 API 来影响更改,但这是完全不同的交易)。
JavaScript 只是客户端。如果希望它影响服务器,则只能通过回调服务器来执行此操作。在服务器上,您将需要某种编程(asp.net,java,php,html等)来接收和应答该呼叫并对其进行操作。
JavaScript,就其本身而言,是非常强大的...但只插入沙盒(浏览器)。要使其影响该浏览器之外的任何其他内容,它必须依赖于已经存在并准备好接收这些请求的其他程序。
这主要是以安全的名义进行的。
您可以从客户端的网页收集数据并将它们发送到服务器 (ajax),然后服务器将生成 xml 文件并发回指向该文件的链接 (ajax)。使用 javascript 使用服务器返回的链接生成下载链接。
这是我在一个项目中解决问题的方法。
- 我应该如何从xml文件构建一个javascript页面
- 显示IIS上javascript文件(SOAP请求)的XML响应
- 如何使用javascript或jquery mobile从url读取和显示XML文件
- 如何使用JQUERY解析大型XML文件并将其可视化为HTML格式
- Javascript/JQuery.本地缓存xml文件
- 需要帮助处理XML HTTP文件上载请求
- xml文件在js项目目录结构中的位置
- 使用jquery动态解析XML文件
- 指定单击链接时要加载的xml文件
- 使用javascript读取本地XML文件并在html页面中显示
- 将xml文件导入pdf(Acrobat)
- 使用AJAX传递的数据编辑XML文件-正在删除XML数据
- 在HTML文档中使用XML文件中的数据
- 可以't从xml文件中提取数据
- 通过JS/AAJAX在XML文件中搜索1个数据
- 搜索XML文件并使用javascript显示结果
- Windows 8市场应用程序JS,访问远程XML文件
- 如何获取XML值,然后使用javascript将它们输出到htm文件中
- 加载svg文件(xml)并使用javascript提取特定信息
- (初学者javascript)获取多个文本文件XML请求