怎么用JavaScript生成xml

来源:爱站网时间:2021-08-21编辑:网友分享
怎么用JavaScript生成xml,爱站技术小编今天给大家提供一篇详细的介绍文,里面干货十足,有笔记的可以做笔记,没有笔记的可以收藏,大家快来来参考一下。
 

function XMLWriter()
{
    this.XML=[];
    this.Nodes=[];
    this.State="";
    this.FormatXML = function(Str)
    {
        if (Str)
            return Str.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("     }
    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)?"":""+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("");}
}

 

 


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: My Value

XML.BeginNode(“Foo”);
XML.WriteString(“Hello World”);
XML.EndNode();
//Produces Hello World

Node 方法:
XML.EndNode();
//Produces: 

 

eg:

 

 

 

 

 


function WriteTest()
        {
            try
            {
                var XML=new XMLWriter();
                XML.BeginNode("Example");
                XML.Attrib("SomeAttribute", "And Some Value");
                XML.Attrib("AnotherAttrib", "...");
                XML.WriteString("This is an example of the JS XML WriteString method.");
                XML.Node("Name", "Value");
                XML.BeginNode("SubNode");
                XML.BeginNode("SubNode2");
                XML.EndNode();
                XML.BeginNode("SubNode3");
                XML.WriteString("Blah blah.");
                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.
                document.getElementById("ExampleOutput").value=XML.ToString().replace(/,"\n             }
            catch(Err)
            {
                alert("Error: " + Err.description);
            }
            return false;
        }

 


生成的xml为:


This is an example of the JS XML WriteString method.
Value



Blah blah.


以上内容就是爱站技术频道小编为大家分享的怎么用JavaScript生成xml,看完以上分享之后,大家再遇到这种问题,自己会操作了吧。

 

上一篇:XML轻松学习手册(5)XML实例解析

下一篇:XML指南——XML元素相关资讯

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载