首页 > 解决方案 > 直接将 XML 文件作为字符串操作有什么缺点?

问题描述

如果我想在 XML 文件中更改文本或添加元素,我可以直接将文件转换为字符串,将元素替换或添加为字符串,然后将其转换回 XML。

在什么用例中这种方法不好?为什么我们需要使用 XMLdom、Xpath 等库来操作它?

标签: node.jsxml

解决方案


通过字符串运算符操作 XML 的缺点是,即使是一个特定的 XML 文档,实现依赖于解析的目标已经比使用经过验证的 XML 解析器更难。实现等效的 XML 文档变体的目标几乎是不可能的,尤其是对于任何天真地首先考虑这种方法的人来说。

不服气?

浏览可扩展标记语言 (XML) 1.0(第五版)的目录,W3C 建议 2008 年 11 月 26 日。如果您不了解所有内容,那么您对 ​​XML 解析器的手写的、拙劣的模仿将失败,如果不是在您的第一个测试用例中,如果您希望声明您的代码与 XML 一起工作,您有义务处理未来的变体. 仅提及一些挑战,您的程序应该

  1. 报告其输入 XML 是否格式不正确。
  2. 处理字符和实体引用。
  3. 处理注释和 CDATA 部分。

想通过字符串运算符解析 XML,包括正则表达式? 不要这样做。使用真正的 XML 解析器。


推荐阅读