如何解决在Delphi中使用IXMLDocument解析XML文件
在Delphi 10 Rio中,我使用IXMLDocument
来解析XML文件。
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?><AWXML><ACTION>RECUP<RETOUR>OK</RETOUR><CRITERE><COMPTE></COMPTE><REGROUPEME></REGROUPEME><bas01></bas01></CRITERE><RUBRIQUE><DOC_NOM>TEST110 €</DOC_NOM>
当我这样做
NomDoc := Node2.ChildNodes['DOC_NOM'].Text;
NomDoc
是'TEST110 ?'
,但它应该是'TEST110 €'
。
为什么会这样,怎么解决?
解决方法
XML序言中的Encoding
属性指定XML本身的字节编码,而不是XML内容将被解释为的字符集。XML内容始终仅以Unicode解释。因此,€
表示Unicode代码点U+0080,它是一个C1控制字符,“仅在XML 1.0文档中的某些上下文中有效,并且使用受到限制并且不鼓励使用”。
如果要在XML文档中使用欧元字符Unicode代码点U+20AC,则必须使用€
或€
来代替Encoding
指定。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。