【问题标题】:Convert Text String to HTML String将文本字符串转换为 HTML 字符串
【发布时间】:2013-10-11 03:57:20
【问题描述】:

有没有办法在不使用替换的情况下将下面的文本字符串转换为 html 字符串?

文本字符串

{"a":"\u003cul class=\"ylist ylist-bordered search-results\"\u003e\n\t\t\t\n\t\t\t\t\t\u003cli class=\"添加-search-result\"\u003e\n\t\t\t\t\t\t\t\u003cdiv class=\"search-result yla biz-listing-large www-yla-unit-color-555555-ffefcb \" data-key=\"ad_business\"\u003e\n\t\t\t\u003cspan class=\"yla-tip\"\u003eYelp Ad\u003c/span\u003e\n\n\n\t\ t\u003cdiv class=\"media-block media-block-large clearfix main-attributes\"\u003e\n\t\t\t\u003cdiv"}

HTML 字符串

{"a": "<ul class=\"ylist ylist-bordered search-results\">\n\t\t\t\n\t\t\t\t\t<li class=\"add-search-result\">\n\t\t\t\t\t\t\t<div class=\"search-result yla biz-listing-large www-yla-unit-color-555555-ffefcb\" data-key=\"ad_business\">\n\t\t\t<span class=\"yla-tip\">Yelp Ad</span>\n\n\n\t\t<div class=\"media-block media-block-large clearfix main-attributes\">\n\t\t\t<div class=\"media-avatar\">\n\t\t\t\t\t\t\n\n\n\t<div class=\"photo-box biz-photo-box pb-90s\">\n\t\t\t<a href=\"/adredir?position=0&amp;redirect_url=http%3A%2F%2Fwww.yelp.com%2Fbiz%2Fez-pawn-corp-new-york-3&"}

我尝试了下面的代码,但它没有按预期工作(excel-vba)

 Dim html As Object
    Set html = CreateObject("htmlfile")
    html.body.innerText = strDiv
    Debug.Print   html.body.innerHTML

如果我将文本字符串复制到 http://jsonlint.com/ 以验证字符串,它会返回转换后的 html 字符串。

【问题讨论】:

  • 不想让自己听起来很腼腆……但如果 ms 不提供方法,那么您将不得不自己动手
  • + 1 我看不出这篇文章被否决的原因......
  • 为什么不自动化呢?将字符串发送到该页面并检索结果?
  • @SiddharthRout 听起来有点矫枉过正 :P 如果网站消失了他会怎么做?
  • @mehow:由于没有内置方法,这是唯一的选择。如果该链接失效,他可以继续下一个 ;)

标签: html json parsing excel vba


【解决方案1】:

这对我有用。我没有添加任何错误处理技术。我相信你可以解决这个问题。

Sub Sample()
    Dim sURL As String: sURL = "http://jsonlint.com/"

    Dim StringtoConvert As String
    StringtoConvert = "{""a"":""\u003cul class=\""ylist ylist-bordered search-results\""\u003e\n\t\t\t\n\t\t\t\t\t\u003cli class=\""add-search-result\""\u003e\n\t\t\t\t\t\t\t\u003cdiv class=\""search-result yla biz-listing-large www-yla-unit-color-555555-ffefcb\"" data-key=\""ad_business\""\u003e\n\t\t\t\u003cspan class=\""yla-tip\""\u003eYelp Ad\u003c/span\u003e\n\n\n\t\t\u003cdiv class=\""media-block media-block-large clearfix main-attributes\""\u003e\n\t\t\t\u003cdiv""}"

    Dim ie As Object

    Set ie = CreateObject("InternetExplorer.Application")
    ie.Visible = True

    ie.navigate sURL

    Do While ie.readystate <> 4: Wait (1): Loop

    ie.document.getElementById("json_input").Value = StringtoConvert
    ie.document.getElementById("validate").Click

    Do While ie.readystate <> 4: Wait (1): Loop

    Debug.Print ie.document.getElementById("json_input").Value
End Sub

Private Sub Wait(ByVal nSec As Long)
    nSec = nSec + Timer
    While nSec > Timer
        DoEvents
    Wend
End Sub

截图:

【讨论】:

    猜你喜欢
    • 2018-04-29
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 2022-01-19
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    相关资源
    最近更新 更多