时间:2021-05-26
复制代码 代码如下:
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>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍了使用JavaScript生成XML的方法,这种方法主要调用了自己编写的Writer函数来实现的。完整的源代码如下:functionXMLWriter(
本文实例讲述了java生成XML的方法。分享给大家供大家参考,具体如下:下拉框的生成,我是通过javascript读取xml文件生成的。Xml文件是根据数据库生
XML内容生成部分SQL数据生成XML的函数。1.xmlcomment:生成注释函数。xmlcomment(text)例:SELECTxmlcomment('h
项目兼容需要生成一系列的xml文件,总结了下XML文件的生成基本方式:XmlTextWriterw=newXmlTextWriter("C:\XML文件名.xm
1.设置生成xml的内容格式为不换行默认用下面代码创建并生成xml的代码如下:复制代码代码如下:XmlDocumentdoc=newXmlDocument();