在一个文件中使用 JavaScript 格式化 XML 数据
Format XML data with JavaScript in one file
我想通过JavaScript将单个XML文件转换为人类可读的格式。 原因如下:
- 需要生成一个可以在任何地方工作的人类可读文档。(Windows,Mac,Linux,iPhone,Android,Blackberry等(
- 信息来自我定义的C++数据结构。
- 需要能够包含图片。
- 创建后,此文档将作为电子邮件附件发送。
我调查过:
- XSLT:可以作为单个文件工作,但仅在最新的移动设备上受支持。
- CSS:我认为格式不够复杂,无法得到我需要的东西。
- PDF:开源库必须包含在环境中。如果有好的选择,我宁愿不这样做。
这就是我研究JavaScript的原因。 但第一个问题是,JavaScript 可以格式化/显示存在于同一个文件中的 XML 数据吗? 如果是这样,如何?
你想做一些奇怪的事情。您不能将单个 JavaScript 或 CSS 文件用作带有图像的可读文档。这是不可能的。为什么你不只使用 HTML?您可以在HTML页面上包含CSS和JavaScript,并获得几乎任何您想要的外观和行为。HTML 可以用作单个文件。图像可以使用 data:uri 包含在 HTML 页面中。
它认为服务器端选项(例如服务器端XSLT(会更可取,但如果不可用,那么您可以在Javascript或JQuery中解析XML文档。 有关如何使用 JQuery 执行此操作的简单示例,请参阅此处:http://api.jquery.com/jQuery.parseXML/。 此示例从 XML 中获取一个"title"元素,并将其添加到 ID 为"somelement"的 HTML 元素中。
var xml = ""; // TODO get your xml here
var xmlDoc = $.parseXML(xml);
var $xml = $(xmlDoc);
var title = $xml.find("title");
$("#someelement").text(title);
如果您使用的是纯 Javascript,那么您可以像解析 HTML 一样解析 XML。 例如,假设您有如下所示的 XML:
然后,您可以像这样解析 XML 文档:
var items = myXml.getElementsByTagName('item');
var text = items[0].getAttribute('text');
$("#someelement").text(text);
希望有帮助...
相关文章:
- 使用纯javascript格式化数字
- 如何用javascript格式化日期
- 用javascript格式化数字,而不进行更改
- 如何用javascript格式化(大)数字
- 如何使用javascript格式化同一类表列中的数据
- JavaScript:格式化输入方法会给出错误的值
- Javascript-格式化数字,始终显示原始的小数位数
- 用javascript格式化/操作JSON响应
- 使用 javascript 格式化数字
- 使用 JavaScript 格式化日期
- JavaScript 格式化时间 24 小时格式为 12 小时
- 使用 JavaScript 格式化附加文本
- JavaScript - 格式化长整数
- 在一个文件中使用 JavaScript 格式化 XML 数据
- 来自 Date() 对象的 JavaScript 格式化时间
- 使用 javascript 格式化日期字符串
- 如何使用javascript格式化从表单字段中提取的日期
- 如何用javascript格式化日期
- 用JavaScript格式化动态表
- 用Javascript格式化数组循环的日期输出