xml - 在 Delphi 2010 中从 XML 读取°度数符号

标签 xml delphi delphi-2010

以下 XML 无法从 Delphi 中读取,因为它包含无效的 ° 符号:

V1:   <Item Id="1" Description="90° Hinge"/>

似乎 Delphi 识别在 XML 中执行此操作的“标准”方式:

V2:   <Item Id="1" Description="90&deg; Hinge"/>

Delphi 确实似乎可以处理这个:

V3:   <Item Id="1" Description="90&#176; Hinge"/>

由于我是从 RESTful Web 服务获取数据,所以我没有特别控制传入的 XML 数据包,我只需要能够读取它们。

问题

  1. 如果 V2 是标准的 XML 方式,那么为什么 Delphi 不支持它?还是有一种我不知道的特殊方法来处理这个问题?
  2. V1 XML 的格式是否错误?如果是这样,我是否应该请求将 RESTful 接口(interface)更改为以 V3 格式导出 °。

使用 Delphi 2010。如有任何帮助,我们将不胜感激。

最佳答案

Delphi 本身根本不解析 XML。第三方 XML 引擎可以,无论是 MSXML、OpenXML、AtomXML 等。TXMLDocument 组件和支持接口(interface)只是一个包装器框架,大部分解析由其他人完成。

V1 可能有也可能没有畸形。这取决于 XML 的实际字符集。

V2其实不是标准的。并非所有 XML 引擎都支持它。显然,您在 Delphi 中使用的那个不是。

V3 是标准化的,所有 XML 引擎都支持该语法。

关于xml - 在 Delphi 2010 中从 XML 读取°度数符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15017578/

相关文章:

java - 从 Java 中的 XML 中去除空格和换行符

c# - 如何使用 LINQ-to-XML 将以下 XML 加载到字典中?

xml - 我的帐户页面的 Magento 1.7* : How do I add "Logout"-link in the sidebar,

Delphi Graphics32 在图层上绘制透明椭圆

php - 更新 mysql 中可能追加或更改其名称的列上的重复行

Delphi 'AND' 评估有 2 个条件

android - 如何减小 firemonkey android 应用程序的大小?

windows - 检测系统启动事件

Delphi 7 企业版或 Delphi 2010 专业版

.net - Delphi 2010 和 .net