0

我想通过 JavaScript 将单个 XML 文件转换为人类可读的格式。原因如下:

  1. 需要生成一个可以在任何地方工作的人类可读文档。(Windows、Mac、Linux、iPhone、Android、黑莓等)
  2. 这些信息来自我定义的 C++ 数据结构。
  3. 需要能够包含图片。
  4. 此文档将在创建后作为电子邮件附件发送。

我调查过:

  • XSLT:可以作为单个文件工作,但仅在最新的移动设备上受支持。
  • CSS:我认为格式不够复杂,无法满足我的需求。
  • PDF:必须将开源库包含在环境中。如果有一个好的选择,我宁愿不这样做。

所以这就是我关注 JavaScript 的原因。但第一个问题是,JavaScript 能否格式化/显示存在于同一文件中的 XML 数据?如果是这样,怎么做?

4

2 回答 2

0

它认为服务器端选项(例如服务器端 XSLT)会更可取,但如果它不可用,那么您可以在 Javascript 或 JQuery 中解析 XML 文档。有关如何使用 JQuery 执行此操作的简单示例,请参见此处: http ://api.jquery.com/jQuery.parseXML/ 。此示例从 XML 中获取“title”元素并将其添加到 ID 为“someelement”的 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);

希望有帮助...

于 2012-05-10T23:45:44.837 回答
0

你想做一些奇怪的事情。您不能将单个 JavaScript 或 CSS 文件用作带有图像的可读文档。这是不可能的。为什么不只使用 HTML?您可以在 HTML 页面上包含 CSS 和 JavaScript,并获得几乎任何您想要的外观和行为。HTML 可以用作单个文件。可以使用 data:uri 将图像包含在 HTML 页面中。

于 2012-05-10T23:47:13.323 回答