使用JavaScript创建和修改XML文件。

11

如何使用JavaScript创建新的XML文件并修改现有的XML文件,即在XML文件中添加更多节点?

提前致谢...

4个回答

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>

需要注意的一点是它不会转义字符串。

另请参阅 使用JavaScript编写XML的库


如何保存此XML文件或默认情况下它将被保存在哪里 - Praveen Singh
该库的更新版本维护在以下网址:https://github.com/alexandern/XMLWriter - koppor

2

我创建了两个如下的函数:

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的XMLWriter在内存中创建XML。


1
在IE中,您可以使用ActiveX来操作XML。
对于FF和其他符合W3C标准的浏览器,还有内置的对象。
我建议您查看this article

0
文件运行的上下文是什么,你要将新的 XML 数据保存在哪里?
(通常的上下文是浏览器,在这种情况下,您基本上可以显示它或将其返回到服务器。)
但如果您正在编写一个将在浏览器外运行的脚本,则取决于情况。

我正在获取谷歌地图的数据,并需要将其存储在 XML 文件中,然后从 XML 文件中根据 XML 元素创建地图。 - Avinash
1
好的,我猜这意味着你在浏览器中运行(尽管不一定是这样)。当您存储XML文件时,想将其存储在哪里?(在运行浏览器的计算机的文件系统中?在提供页面的服务器上?) - Daniel Earwicker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接