使用javascript创建和修改xml文件

时间:2009-07-28 06:55:59

标签: javascript xml

如何创建新的xml文件并修改任何xml文件意味着使用javascript在xml文件中添加更多节点。?

提前致谢...

4 个答案:

答案 0 :(得分:9)

我发现Ariel Flesler的XMLWriter构造函数是从头开始创建XML的良好开端,看看这个

http://flesler.blogspot.com/2008/03/xmlwriter-for-javascript.html

实施例

function test(){    
   var v = new  XMLWriter();
   v.writeStartDocument(true);
   v.writeElementString('test','Hello World');
   v.writeAttributeString('foo','bar');
   v.writeEndDocument();
   console.log( v.flush() );
}

结果

<?xml version="1.0" encoding="ISO-8859-1" standalone="true" ?>
<test foo="bar">Hello World</test>

需要记住的一点是,它不会逃避字符串。

另见 Libraries to write xml with JavaScript

答案 1 :(得分:1)

在IE中,您可以使用ActiveX操作XML FF和其他W3C兼容浏览器还有一个内置对象 我建议你看一下this article

答案 2 :(得分:1)

我创建了两个函数,如下所示:

function loadXMLDoc(filename){
  if (window.XMLHttpRequest){
      xhttp=new XMLHttpRequest();
  }
  else {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP"); // code for IE 5-6
  }
  xhttp.open("GET",filename,false);
  xhttp.send();
  return xhttp.responseXML;
}

并且,要将XML写入本地文件,请调用以下函数。

function writeXML() 
    {
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        var fso = new ActiveXObject("Scripting.FileSystemObject");
        var FILENAME="D:/YourXMLName/xml";
        var file = fso.CreateTextFile(FILENAME, true);
        file.WriteLine('<?xml version="1.0" encoding="utf-8"?>\n');
        file.WriteLine('<PersonInfo>\n');
        file.WriteLine('></Person>\n');
        } 
        file.WriteLine('</PersonInfo>\n');
        file.Close();
    } 

我希望这会有所帮助,否则您可以尝试Ariel Flesler's XMLWriter在内存中创建XML。

答案 3 :(得分:0)

运行文件的上下文是什么,以及您要在哪里保存新的XML数据?

(通常的上下文是浏览器,在这种情况下,您基本上可以显示它或将其发回服务器。)

但是如果您正在编写一个可以在浏览器之外运行的脚本,那么它取决于它。