1

XML を含む文字列を、ブラウザで表示できるものに変換しようとしています。そのために、文字列を次の関数に渡します。

Function HTMLDecode(sText)
    Dim regEx
    Dim matches
    Dim match
    sText = Replace(sText, Chr(34), """)
    sText = Replace(sText, Chr(60), "<")
    sText = Replace(sText, Chr(62), ">")
    sText = Replace(sText, Chr(38), "&")
    sText = Replace(sText, Chr(32), " ")


    Set regEx= New RegExp

    With regEx
     .Pattern = "&#(\d+);" 'Match html unicode escapes
     .Global = True
    End With

    Set matches = regEx.Execute(sText)

    'Iterate over matches
    For Each match in matches
        'For each unicode match, replace the whole match, with the ChrW of the digits.

        sText = Replace(sText, match.Value, ChrW(match.SubMatches(0)))
    Next

    HTMLDecode = sText
End Function

ただし、次のように呼び出すと:

response.write HTMLDecode(strResponse)

変換が行われますが、これはブラウザに表示されるものです:

 <?xml version="1.0"? >  

それよりも

<xml version="1.0"? >

IE、FF、Chromeで発生するので、それは私のコードに違いないと思います-何かアイデアはありますか?

4

2 に答える 2

1

使ってみて

Server.HTMLEncode(strResponse)
于 2012-09-21T11:40:08.473 に答える
-1

HttpUtility.HtmlDecode メソッド (文字列)を使用してみてください

于 2012-09-21T08:43:49.653 に答える