MSHTML: CreateDocumentFromString au lieu de CreateDocumentFromUrl
Je voudrais utiliser le MSHTML bibliothèque pour analyser le code HTML que j'ai dans une variable de chaîne. Cependant, je ne peux pas comprendre comment le faire. Je peux facilement d'analyser le contenu d'une page web donnée une URL connue, mais pas la source du HTML directement. Est-ce possible? Si oui, comment?
Public Sub ParseHTML(sHTML As String)
Dim oHTML As New HTMLDocument, oDoc As HTMLDocument
'This works:'
Set oDoc = oHTML.createDocumentFromUrl("http://www.google.com", "")
'I would like to do the following but no such method actually exists:'
Set oDoc = oHTML.createDocumentFromString(sHTML)
....
'Parse the HTML using the oDoc variable'
....
OriginalL'auteur mwolfe02 | 2012-04-03
Vous devez vous connecter pour publier un commentaire.
Vous le pouvez;
odoc As HTMLDocument
: erreur de Compilation: Fonction ou de l'interface marquée restreinte, ou la fonction utilise un type d'Automatisation non pris en charge dans Visual Basic. La modification de la déclaration deodoc As Object
(comme cette réponse montre clairement) a résolu le problème.Yep, je suis d'accord, nice est la parole.
Espérons que vous n'avez pas l'esprit, mais j'ai édité votre réponse à inclure un moyen de ref la bibliothèque tardive. C'est la non-évidence et m'a pris un certain temps à trouver via le web.
Précoce et tardive de liaison n'a rien à voir avec la façon dont la classe est instantitated. C'est le
Dim
-ensioning partie qui est de l'importation.Dim ... As Object
est la liaison tardive,Dim ... As ClassOrInterface
est la liaison anticipée.Travaillé, merci! Notez que la liaison anticipée, a provoqué une erreur pour moi: la Fonction ou de l'interface marquée restreinte.
OriginalL'auteur Alex K.
Ce est un bien meilleur exemple. Vous n'obtiendrez pas une exception nulle, ni la liaison tardive.
(Et si vous utilisez WPF, il suffit d'ajouter
System.Windows.Forms
dans votre référence.)OriginalL'auteur bboyse
Un simple code HTML, tels que l'Accès Riches en Texte ce qu'il ne:
OriginalL'auteur user3305711