• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    JavaScript生成xml
    复制代码 代码如下:

    function XMLWriter()
    {
        this.XML=[];
        this.Nodes=[];
        this.State="";
        this.FormatXML = function(Str)
        {
            if (Str)
                return Str.replace(//g, "").replace(/\"/g, "quot;").replace(//g, "lt;").replace(/>/g, "gt;");
            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("");}
    }



    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” />

     

    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(//g,"\n");
                }
                catch(Err)
                {
                    alert("Error: " + Err.description);
                }
                return false;
            }


    生成的xml为:


    Example SomeAttribute="And Some Value" AnotherAttrib="...">This is an example of the JS XML WriteString method.
    Name>Value
    /Name>
    SubNode>
    SubNode2/>
    SubNode3>Blah blah.
    /SubNode3>
    /SubNode>
    /Example>
    上一篇:RSS的语言编码大全
    下一篇:XML轻松学习手册(5)XML实例解析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    JavaScript生成xml JavaScript,生成,xml,JavaScript,