【发布时间】:2017-10-07 23:16:59
【问题描述】:
我需要处理一个大的 KML 文件 (>3 MiBs)。要检查它,我需要查看它,但是 Style 和 StyleMap 节点太多,手动浏览变得不可能。我决定使用 Node.js 以编程方式删除不必要的节点。使用 Node.js 解析 XML 文件相当容易,例如使用 sax 或 xmldom。但棘手的部分似乎是如何排除某些节点及其子节点并保留所有其他节点。使用 sax 这成为一项相当复杂的任务,因为输出是 XML,因此必须处理所有保留的节点、它们的属性和子节点。我觉得应该有一个更简单、更强大的解决方案。任何建议和代码sn-ps?
【问题讨论】:
-
在 npm 上搜索任何 xml-parser 包,包含它,读取文件,删除某些节点,保存到文件,然后瞧。你到底在问什么?
-
@xDreamCoding 谢谢,我正在寻找您简要描述的通用方法和代码 sn-p。特别是应该如何删除节点的部分。我将问题编辑为更具体。我发现xpath 可能能够做到这一点。如果它运行良好,我想我会为此实现一个 npm 模块。
-
您想要转换 XML 文件。 XSLT 是您的朋友。
-
你可以用camaro选择你想要的节点
-
@AnhThangBui 感谢您的提示。但是,问题有点不同。我事先不知道所有节点和道具,因为我尝试处理的文件太大以至于我无法检查它。我只想删除匹配的节点并保留所有其余的,无论它们的名称、道具或孩子。
标签: javascript node.js xml xml-parsing