Delphi 与#x0D;及#除息的;
我需要解析从不同来源获得的一些文本/xml文件。现在我发现了一些换行的问题 在一些文件中,我得到了Delphi 与#x0D;及#除息的;,delphi,delphi-xe2,line-breaks,Delphi,Delphi Xe2,Line Breaks,我需要解析从不同来源获得的一些文本/xml文件。现在我发现了一些换行的问题 在一些文件中,我得到了 作为换行符,在其他一些代码中,我只得到 现在我们的delphixe2在&xD,未正确导入 例如: 1. 城市和x0D ;状态 进口结果: 城市 陈述 City ;状态 进口结果: 城市和州 为什么会出现这种情况以及如何解决它?这两个XML文本之间没有区别 指定与和#xD。对于 和 您的XML解析器已损坏,解决方案是修复或替换它 Indy
代码>作为换行符,在其他一些代码中,我只得到
代码>
现在我们的delphixe2
在&xD代码>,未正确导入
例如:
1. <代码>城市和x0D
;状态
进口结果:
城市
陈述
City
;状态
进口结果:
城市和州
为什么会出现这种情况以及如何解决它?这两个XML文本之间没有区别<代码>
代码>指定与和#xD代码>。对于
代码>和
代码>
您的XML解析器已损坏,解决方案是修复或替换它 Indy将空格作为字符串写入,如#$D
。看起来完全一样。我认为您没有其他选择可以替代字符串,比如StringReplace(您的_text_xml,
;,#13,[rfReplaceAll])
我已经考虑过这个解决方法,但仍然希望找到更干净的解决方案;-)您使用的是XML解析器吗?我使用ClientDataset并从流中加载XML。@Fantagirocco#$D
是Pascal而不是XML。这里我们讨论的是XML数字字符引用。您的StringReplace
不好。您还可以在CDATA
部分中收集文本。我建议您阅读以下内容:Delphi的TXMLDocument不是使用MSXML吗?@MarcovandeVoort我认为它允许使用不同的XML解析器,但在Windows上,默认情况下您可以使用MSXML。我的猜测是用户没有使用真正的解析器。