• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

JavaScript生成xml_xml

xml 搞代码 7年前 (2018-06-15) 150次浏览 已收录 0个评论

JavaScript生成xml

function XMLWriter()
{
    this.XML=[];
    this.Nodes=[];
    this.State=””;
    this.FormatXML = function(Str)

http://www.gaodaima.com/33938.htmljavaScript生成xml_xml

    {
        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(“”);}
}

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>
 

欢迎大家阅读JavaScript生成xml_xml》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:JavaScript生成xml_xml

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址