xml - 处理无效 XML 的建议方法

标签 xml delphi delphi-xe2

我正在尝试使用 Delphi XE2 将程序与第 3 方服务集成。我遇到的问题是该服务没有转义他们发送给我的 XML 文档中的任何值。

这是他们的“示例”xml 文档之一

<plans type="array">
  <plan>
    <id type="integer">1</id>
    <series-title>A New Plan</series-title>
    <dates>January 16 & 17, 2010</dates>
   <plan-title>A New Plan For Your Family</plan-title>
 </plan>
 ...
</plans>

我最初的计划只是将所有数据包装在 CDATA 中标签,但这似乎不是一个理想的解决方案。

我还考虑过搜索 &字符并将其替换为 &amp;但它不会转义任何用户输入,包括 <>搜索并替换每个无效的 xml 字符听起来也是个坏主意。

关于我应该如何处理无效的 xml 文档有什么建议吗?

最佳答案

首先拒绝将这些文档称为“XML”——它们不是 XML。

说服您的供应商许多人已经采用 XML 并从中获益,如果他们也这样做也是个好主意。

如果您的供应商认为他们正在向您发送 XML,请纠正他们。几乎是 XML 并没有帮助。这就像向您发送无法编译的 Java 代码。

关于xml - 处理无效 XML 的建议方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12043065/

相关文章:

delphi - 在 Delphi 中,如何从防火墙 API 中的 LocalPolicy.CurrentProfile.GloballyOpenPorts 获取枚举器

delphi - FireMonkey 网格在同一列中具有不同的控件

java - XML 架构站点不存在..(解码 xml 时)

python - 如何在 Python 中针对 DTD 文件验证 xml

xslt 中的 XML 命名空间处理

delphi - 如何将 D2009 .groupproj 文件转换为 D2006 .bdsgroup 文件?

delphi - 是什么导致了 Delphi 中的内存泄漏?

javascript - Ui5 标题中的右键(XML View )

database - 如何使用 TADOConnection 在 delphi xe2 中与 oracle 建立数据库连接?

delphi - 如何检测新串口的添加?