【问题标题】:XML in HTML and then save XML as file?HTML中的XML然后将XML另存为文件?
【发布时间】:2014-09-23 14:49:45
【问题描述】:

是否可以通过 javascript 表格生成样式为 XML 格式的表格,由用户对数据等进行一些编辑,然后将此表格保存为 XML 文件?我是 XML 新手,遇到了一些问题,我知道它的愚蠢问题。

【问题讨论】:

  • 您需要使用 PHP、Java 或其他一些“后端”语言来保存它并使用服务器来保存它,但是是的,完全有可能。
  • 是否可以在 HTML 中生成 XML?无需在服务器上创建 XML 文件。
  • HTML 已经是 XML 格式。不知道你的意思是什么。以 Stack Overflow 答案框中发生的情况为例。用户可以输入html。 html 将与用户评论的其余部分一起保存,然后在页面上呈现为 HTML。我看不出有什么理由把它变成真正的 XML。检查this 以查看 XML 和 HTML 之间的区别。
  • 我会解释我想做什么。我有用 HTML/jQuery/CSS 编写的程序。该程序的主要任务是通过 jQuery 生成表格。在此表中,我可以单击单元格并更改其背景。然后我想保存它。现在我将它保存为图像(html2canvas),但我还需要将它与数据一起保存(二进制,最好的选择是 XML)。所以问题是,是否可以在我的 HTML 程序中通过 jQuery-java 生成 XML 对象。然后我会设置它的样式,使其看起来与我的 HTML 现在看起来一样。然后我想将它保存为 XML。只有这个“表”。

标签: javascript html xml save


【解决方案1】:

你可以看看这个 FileSaver 库:https://github.com/eligrey/FileSaver.js

它应该能够做你所追求的:无需使用服务器后端即可保存。

至于 XML 生成:您可以使用 createElement 和 appendChild 函数。

    var xml = document.createElement("root");
    var node = document.createElement("rootchild");
    node.appendChild( document.createElement("something") );
    node.appendChild( document.createElement("somethingelse") );
    node.appendChild( document.createElement("somethingdifferent") );
    xml.appendChild(node);

    alert(xml.innerHTML);

至于您在以下 cmets 中的次要问题:

如果你想在颜色元素中添加“红色”,你只需要这样做:

    var colorNode =  document.createElement("COLOR");              
    var colorText = document.createTextNode("red");
    colorNode.appendChild(colorText);
    node.appendChild(colorNode );

如果您需要更多信息,我建议您查看 w3schools 的参考文档:

http://www.w3schools.com/jsref/dom_obj_all.asp

http://www.w3schools.com/jsref/dom_obj_document.asp

【讨论】:

  • 谢谢,我会检查的。但是我会有服务器,所以保存不是这里的主要问题。
  • 是的,我在回复后注意到了,所以我编辑了我的答案以提供更多关于生成 xml 的说明。 ;)
  • 谢谢,很有帮助。但我现在有更多问题;p 这是表格生成器的小提琴:jsfiddle.net/7g9rc。如何在 xml 元素中添加一些东西,例如:将“红色”添加到颜色中。从另一方面来说,如何生成这个“xml 表”而不是“html 表”。我只想制作 xml 表,因为如果我单击单元格,将很难从“html 表”事件中更改“xml 表”中的数据。我希望你能理解我的想法;p
  • 我是否正确理解您只想在 COLOR xml 元素中添加文本“红色”?像这样? 红色。我在答案中添加了这样做的解释,因为 cmets 中的格式似乎无法正常工作。
  • 我想我会采取其他方式。将数据添加到每个 (来自 HTML5 的 data-* ),然后获取这些值并从中生成 XML 文件。我想它会更容易。现在的问题是如何将这些数据生成 XML 到 file.xml ;p 无论如何,谢谢,你帮了我很多。
猜你喜欢
  • 2015-05-19
  • 1970-01-01
  • 1970-01-01
  • 2013-03-14
  • 1970-01-01
  • 2019-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多