0

我正在通过 Web 服务调用返回这个 html 字符串。

我无法显示 html 可能是因为奇怪的格式(请注意左括号“< head >”如何显示为 '< ; head > ;')

这是我截断的 html 格式响应。

我想要做的是在表单上显示这个 html 页面。但是当我将字符串写入文件时,我什至无法打开它。

任何帮助是极大的赞赏,

谢谢

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">&lt;html&gt;&lt;head&gt;&lt;title&gt;......
...html......&lt;/div&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</string>
4

3 回答 3

1

< 和> 是XML 和 HTML 字符实体。由于某种原因(可能返回格式错误的 html),此 Web 服务(?)返回标记括号 <> 替换为 < 和>。如果您假设在返回的 <string></string> 元素中 < 和> 仅用作标签括号,您可以用适当的括号替换实体。如果你不能假设你需要解析字符串元素文本来获取有效的 html。

于 2012-05-30T11:05:47.107 回答
1

如果您只是编写代码来处理此字符串(并且您无权访问检索它的代码),那么最正确的方法是使用 XML 解析器。

uses XmlIntf;

procedure blah;
var
    doc: IXMLDocument;
    HtmlText: String;
begin
    doc := CreateXMLDocument;
    doc.LoadFromFile(...);
    HtmlText := doc.documentElement.InnerText;
    // Your text is already decoded here
    DoWhatever(HtmlText);
end;
于 2012-05-30T15:04:01.370 回答
1

感谢您的输入。这对我有用。

 uses
 HTTPApp

 var 
 HtmlXmlText : String;

 HtmlText := HTMLDecode(HtmlXmlText);

我使用 HTMLDecode 将奇数字符清理为标准格式。

于 2012-05-31T14:56:00.153 回答