小编Kev*_*Son的帖子

Delphi idhttp破字

我正在使用IDHTTP从事Delphi XE5和从服务器获取XML.获取XML工作正常,但有一些破碎的字符.角色是'•'(子弹点).其他人都很好,但要点已经破裂.

我创建了IDHTTP,如下所示:

idhttps := TIdHTTP.Create();
idhttps.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
idhttps.IOHandler.DefStringEncoding := IndyTextEncoding(TEncoding.UTF8);
idhttps.HandleRedirects := True;
idhttps.ConnectTimeout := 5000;
idhttps.Request.USERNAME := 'USERNAME';
idhttps.Request.PASSWORD := 'PASSWORD';
idhttps.Request.BasicAuthentication := True;
idhttps.Request.Accept := 'text/xml';
Run Code Online (Sandbox Code Playgroud)

然后得到如下的xml:

SS := TStringStream.Create('', TEncoding.UTF8);

try
  self.GetIdHTTPForLexicomp.Get(URL, SS);
  XMLDoc := TXMLDocument.Create(nil);
  XMLDoc.LoadFromStream(SS, TXMLEncodingType.xetUTF_8Like);
finally
  SS.Free;
end;
Run Code Online (Sandbox Code Playgroud)

在XML中,项目符号点如下所示:

?过敏反应/过敏反应:可能引起过敏反应,

XML标题如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Run Code Online (Sandbox Code Playgroud)

我该怎么检查?

更新:我添加了XML代码段.它需要一个XSL文件用于样式,但在这种情况下,我认为这不是问题.'?' 是破碎的人物.

<?xml version="1.0" standalone="yes"?>
<ns2:monogragh>
  <monograghFields>
    <field fieldId="234837" fieldTypeCode="war" created="2005-04-07T17:28:33Z" modified="2014-10-02T11:32:57Z" sectionId="0">
      <fieldName>Warnings/Precautions</fieldName>
      <content>
        <div id="war" class="block">
          <p style="text-indent:-2em;margin-left:2em;text-align:justify;">
            <b>
              <i>Concerns related to adverse …
Run Code Online (Sandbox Code Playgroud)

xml delphi encoding idhttp

0
推荐指数
1
解决办法
752
查看次数

标签 统计

delphi ×1

encoding ×1

idhttp ×1

xml ×1