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

&lt; および&gt; XMLおよびHTML文字エンティティです。何らかの理由で(おそらく誤った形式のhtmlを返すため)、このWebサービス(?)はタグブラケット<>を&lt;に置き換えて返します。および&gt;。返された<string></string>要素で&lt; および&gt; タグブラケットとしてのみ使用され、エンティティを適切なブラケットに置き換えることができます。有効なhtmlを取得するために文字列要素のテキストを解析する必要があると想定できない場合。

于 2012-05-30T11:05:47.107 に答える
1

ご意見ありがとうございます。これが私のために働いたものです。

 uses
 HTTPApp

 var 
 HtmlXmlText : String;

 HtmlText := HTMLDecode(HtmlXmlText);

HTMLDecode を使用して、奇妙な文字を標準の書式にクリーンアップしました。

于 2012-05-31T14:56:00.153 に答える
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 に答える