本文以一个简单的登录界面演示,有三个文件,login.html, XMLWriter.js, login.js。
login.html
<html>
<head>
<script src = "XMLWriter.js" ></script>
<script src = "login.js" ></script>
</head>
<body>
<form>
用户名:<input id = "uname" type = "text"></input>
<br/>
密 码:<input id = "pword" type = "password"></input>
<br/>
<button id = "aa">submit</button>
</form>
<br/>
</body>
</html>
XMLWriter.js
function XMLWriter()
{
this.XML=['<?xml version="1.0" encoding="UTF-8"?>'];
this.Nodes=[];
this.State="";
this.FormatXML = function(Str)
{
if (Str)
return Str.replace(/&/g, "&").replace(/\"/g, """).replace(/</g, "<").replace(/>/g, ">");
return ""
}
this.BeginNode = function(Name)
{
if (!Name) return;
if (this.State=="beg") this.XML.push(">");
this.State="beg";
this.Nodes.push(Name);
this.XML.push("<"+Name);
}
this.EndNode = function()
{
if (this.State=="beg")
{
this.XML.push("/>");
this.Nodes.pop();
}
else if (this.Nodes.length>0)
this.XML.push("</"+this.Nodes.pop()+">");
this.State="";
}
this.Attrib = function(Name, Value)
{
if (this.State!="beg" || !Name) return;
this.XML.push(" "+Name+"=\""+this.FormatXML(Value)+"\"");
}
this.WriteString = function(Value)
{
if (this.State=="beg") this.XML.push(">");
this.XML.push(this.FormatXML(Value));
this.State="";
}
this.Node = function(Name, Value)
{
if (!Name) return;
if (this.State=="beg") this.XML.push(">");
this.XML.push((Value=="" || !Value)?"<"+Name+"/>":"<"+Name+">"+this.FormatXML(Value)+"</"+Name+">");
this.State="";
}
this.Close = function()
{
while (this.Nodes.length>0)
this.EndNode();
this.State="closed";
}
this.ToString = function(){return this.XML.join("");}
}
login.js
function createXML(){
try
{
XML=new XMLWriter();
XML.BeginNode("Login");
XML.Node("Name", document.getElementById("uname").value);
XML.BeginNode("password");
XML.WriteString(document.getElementById("pword").value);
XML.EndNode();
XML.Close(); // Takes care of unended tags.
// The replace in the following line are only for making the XML look prettier in the textarea.
alert(XML.ToString().replace(/</g,"\n<"););
}
catch(Err)
{
alert("Error: " + Err.description);
}
}
window.onload=function(){
document.getElementById("aa").onclick=createXML;
}
XMLWriter
有以下几个方法:
BeginNode (Name)
EndNode ()
Attrib (Name, Value)
WriteString (Value)
Node (Name, Value)
Close ()
ToString ()
BeginNode
输出一个标签:
XML.BeginNode(“Foo”);
XML.BeginNode(“Foo”);
XML.Attrib(“Bar”, “Some Value”);
WriteString 方法:
XML.Node(“MyNode”, “My Value”);
//Produces: <MyNode>My Value</MyNode>
XML.BeginNode(“Foo”);
XML.WriteString(“Hello World”);
XML.EndNode();
//Produces <Foo>Hello World</Foo>
Node 方法:
XML.EndNode();
//Produces: <Foo Bar=”Some Value” />
分享到:
相关推荐
1.3 在Web页面中使用JavaScript 5 1.3.1 HTML的基本结构 5 1.3.2 在HTML中嵌入JavaScript 7 1.3.3 链接JavaScript文件 9 1.4 编写JavaScript的工具 11 1.4.1 使用纯文本编辑器 11 1.4.2 使用专业化脚本编辑工具 13 ...
1.3 在web页面中使用JavaScript 1.3.1 HTML的基本结构 1.3.2 在HTML中嵌入JavaScript 1.3.3 链接JavaScript文件 1.4 编写JavaScript的工具 1.4.1 使用纯文本编辑器 1.4.2 使用专业化脚本编辑工具 ...
在《JavaScript入门经典(第3版)》的高级主题中,将介绍如何使用cookie,以及如何应用DHTML技术使Web页面焕发动感和活力。另外,《JavaScript入门经典(第3版)》还介绍了Ajax 技术。Ajax技术允许在客户端代码中使用...
在《JavaScript入门经典(第3版)》的高级主题中,将介绍如何使用cookie,以及如何应用DHTML技术使Web页面焕发动感和活力。另外,《JavaScript入门经典(第3版)》还介绍了Ajax 技术。Ajax技术允许在客户端代码中使用...
1.本书1~21章所附代码的运行环境 操作系统:Windows 2003、... 21.3.js 使用Prototype的Try.these()创建XML DOM。 21.4.html Prototype的Form对象的使用方法。 prototype.js Prototype的.js库文件。
从填写的表单生成符合模式的 XML; 支持使用 XML 文档中的数据填充生成的表单; 支持命名空间(包括通过 xs:include 和 xs:import 标签组合模式); 用快速且广泛支持的 XSLT 1.0 编写(这意味着它可以在浏览器中...
18.4.2 使用Ajax从文件中获取XML 18.4.3 Ajax和表单 18.5 Ajax和JSON 18.5.1 JSON数据结构 18.5.2 使用JSON的步骤 18.5.3 JSON综合示例 18.5.4 解决eval()安全问题 ...
在《JavaScript入门经典(第3版)》的高级主题中,将介绍如何使用cookie,以及如何应用DHTML技术使Web页面焕发动感和活力。另外,《JavaScript入门经典(第3版)》还介绍了Ajax 技术。Ajax技术允许在客户端代码中使用...
9.36 使用JavaScript向表格中写入数据 9.37 类C# GridView的编辑效果(一) 9.38 类C# GridView的编辑效果(二) 第10章 单选框和复选框 10.1 选择了哪一个单选框 10.2 单击文字实现单选框的选定 10.3 被选中的复选...
12.8.2 如何使用XML DOM--一个利用XML实现多级关联下拉选择框的例子 12.9 总结 第13章 事件处理 13.1 什么是事件 13.1.1 消息与事件响应 13.1.2 浏览器的事件驱动机制 13.2 基本事件处理 ...
并创造性的采用xml来存贮表单验证信息,使得表单的验证成为整个项目中最不重要的环节,开发者只需要定义几个xml标记,就可以创建出复杂的验证策略,而不用编写一行JavaScript代码。由于采用xml集中管理表单验证,...
这个例子假设一个出版商希望用XML表单显示自己的数据目录。开始时,我们设计出目录中书籍的描述规则,然后构建那些规则逐个演示每种技术是如何帮助我们构建XML应用程序的。你将看到书籍目录如何转变成文档,每个文档...
ajax调用java实例源码xsd 表格 您想要制作一个提交结构化数据 ...创建一个带注释的模式,并生成纯 html 和 javascript(无服务器端脚本)。 开发人员将表单链接到处理提交的 xml 的服务器端组件。 由于提交的 xml 符合
9.36 使用JavaScript向表格中写入数据 9.37 类C# GridView的编辑效果(一) 9.38 类C# GridView的编辑效果(二) 第10章 单选框和复选框 10.1 选择了哪一个单选框 10.2 单击文字实现单选框的选定 10.3 被选中的复选...
9.3 javascript中java式的类继承 207 9.4 类的扩充 210 9.5 类和类型 212 9.6 javascript中的面向对象技术 217 9.7 子类 230 9.8 ecmascript 5 中的类 239 9.9 模块 248 第10章 正则表达式的模式匹配 253 10.1 正则...
在《JavaScript入门经典(第3版)》的高级主题中,将介绍如何使用cookie,以及如何应用DHTML技术使Web页面焕发动感和活力。另外,《JavaScript入门经典(第3版)》还介绍了Ajax 技术。Ajax技术允许在客户端代码中使用...
它运用了一些复杂的例子,说明如何处理验证表单数据、使用cookie、创建可移植的DHTML动画等常见任务。本书还包括详细的参考手册,涵盖了JavaScript的核心API、遗留的客户端API和W3C标准DOM API,记述了这些API中的每...
在Ajax应用程序中使用XML或JSON表示法的细节。本书遵循已被验证的学习法则,帮助读者逐步理解各种概念,使读者掌握在各种浏览器中创建强大的、快速响应的应用程序的方法。 “无论你是初学者还是有经验的程序员,...
在《JavaScript入门经典(第3版)》的高级主题中,将介绍如何使用cookie,以及如何应用DHTML技术使Web页面焕发动感和活力。另外,《JavaScript入门经典(第3版)》还介绍了Ajax 技术。Ajax技术允许在客户端代码中使用...
HTML表单——与用户进行交互第7章 窗体和框架第8章 字符串操作第9章 日期、时间和计时器第10章 常见错误、调试和错误处理第11章 使用Cookie存储信息第12章 DHTML概述第13章 现代浏览器中的DHTML第14章 JavaScript与...