在Web工作者XML解析(Parsing XML in a Web Worker)

2019-06-24 05:35发布

我一直在使用的DOMParser对象分析文本字符串转换为XML树。 但是它不是一个网络工作者的上下文中可用(也不是,当然,document.ELEMENT_NODE或将需要的其他各种常量)。 是否有任何其他方式做到这一点?

请注意,我不想操纵当前页面的DOM。 XML文件将不包含HTML元素或诸如此类的事。 其实,我也不想碰文档对象都没有。 我只是想提供一个文本字符串,如下所示:

<car color="blue"><driver/></car>

...并取回合适的树状结构和方法来遍历它。 我也不在乎架构验证或任何幻想。 我知道XML的<SCRIPT> ,其中有许多可能会发现有用的(因此我在这里链接到它),但是它的许可证是不是真的适合我。 我不知道如果jQuery包含的XML解析器(我是相当新的这个东西),但即使它(它是一个工人内部使用),我将不包括一个额外的代码〜50K线只是此功能。

我想我可以使用JavaScript编写一个简单的XML解析器,我只是想知道,如果我失去了一个更快的选择。

Answer 1:

根据规范

该的DOM API(Node对象,Document对象,等)不向工人在该版本中规范。

我想这就是为什么的DOMParser不availlable,但我真的不明白为什么作出这样的决定。 (取,并在WebWorker处理XML文档似乎并不unreasonnable)

但你可以导入其他工具可供选择: 一“跨平台XML解析JavaScript中”



Answer 2:

在这一点上,我想分享我的解析器: https://github.com/tobiasnickel/tXml

其TXML()方法可以解析一个字符串转换成一个对象,它只需0.5KB精缩+ gzip压缩



文章来源: Parsing XML in a Web Worker