手机
当前位置:查字典教程网 >编程开发 >XML/RSS >JavaScript生成xml
JavaScript生成xml
摘要:复制代码代码如下:functionXMLWriter(){this.XML=[];this.Nodes=[];this.State="";t...

复制代码 代码如下:

functionXMLWriter()

{

this.XML=[];

this.Nodes=[];

this.State="";

this.FormatXML=function(Str)

{

if(Str)

returnStr.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();

}

elseif(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(){returnthis.XML.join("");}

}

XMLWriter有以下几个方法:

BeginNode(Name)

EndNode()

Attrib(Name,Value)

WriteString(Value)

Node(Name,Value)

Close()

ToString()

BeginNode输出一个标签:

XML.BeginNode(“Foo”);

XML.BeginNode(“Foo”);

XML.Attrib(“Bar”,“SomeValue”);

WriteString方法:

XML.Node(“MyNode”,“MyValue”);

//Produces:<MyNode>MyValue</MyNode>

XML.BeginNode(“Foo”);

XML.WriteString(“HelloWorld”);

XML.EndNode();

//Produces<Foo>HelloWorld</Foo>

Node方法:

XML.EndNode();

//Produces:<FooBar=”SomeValue”/>

eg:

复制代码 代码如下:

functionWriteTest()

{

try

{

varXML=newXMLWriter();

XML.BeginNode("Example");

XML.Attrib("SomeAttribute","AndSomeValue");

XML.Attrib("AnotherAttrib","...");

XML.WriteString("ThisisanexampleoftheJSXMLWriteStringmethod.");

XML.Node("Name","Value");

XML.BeginNode("SubNode");

XML.BeginNode("SubNode2");

XML.EndNode();

XML.BeginNode("SubNode3");

XML.WriteString("Blahblah.");

XML.EndNode();

XML.Close();//Takescareofunendedtags.

//ThereplaceinthefollowinglineareonlyformakingtheXMLlookprettierinthetextarea.

document.getElementById("ExampleOutput").value=XML.ToString().replace(/</g,"n<");

}

catch(Err)

{

alert("Error:"+Err.description);

}

returnfalse;

}

生成的xml为:

<ExampleSomeAttribute="AndSomeValue"AnotherAttrib="...">ThisisanexampleoftheJSXMLWriteStringmethod.

<Name>Value

</Name>

<SubNode>

<SubNode2/>

<SubNode3>Blahblah.

</SubNode3>

</SubNode>

</Example>

【JavaScript生成xml】相关文章:

气象 XML 数据源应用程序开发指南-简介

SixSix翻译的XAML教程 语法简介

使用javascript+xml实现分页

XML指南——XML 浏览器(Netscape、Explorer)

XML简易教程之二

javascript xml xsl取值及数据修改第1/2页

使用xmldom在服务器端生成静态html页面

XML指南——XML 属性

使用Spry轻松将XML数据显示到HTML页的方法

xml中的空格之完全解说

精品推荐
分类导航