VB.NET
před 18 lety
anonym
217.197.157.6
Zdravím,
potřeboval bych vykuchat html tak, abych se dozvěděl například, jaká je hodnota v prvku DIV a nebo jiném.
Příklad: Mám <DIV ID=neco>10</DIV> a potřeboval bych se dostat k té desítce, aniž bych používal regulární výrazy a nebo jiné složitosti. Napadá vás něco?
Jan Novák
237 783
No jistě, lze použít XML parser:
Imports
System.XML
Class
Form1
Dim
XmlDoc
As
New
XmlDocument
XmlDoc.LoadXml(
"<DIV ID=neco>10</DIV>"
)
' musíte kód rozšířit tak, aby odpovídal standartům: http://cs.wikipedia.org/wiki/XML
' pohrajte si s třídou system.xml a přijdete na to jak dál
End
tohle řešení mne taky napadlo, ale pokud se pokusím nahrát HTML stránku do XML dokumentu, vyhodí mi to chybu, protože se nejedná o validní XML.
Nebo je nějaký fígl, jak přinutit počítač, aby to sežvýkal?
Tak za prvé musíte mít validní XML, to znamená, že můžete mít stránku:
<?xml version=
"1.0"
encoding=
"UTF-8"
?>
<html>
atd...
</html>
a pokus se Vám nechce XML parser použít, můžete si za běhu programu vytvořit WebBrowser a použít jeho:
xWebBrowser
Webbrowser
xWebBrowser.DocumentText =
"..."
msgbox(xWebBrowser.Document.GetElementsByTagName(
"DIV"
).Id)
msgbox(wwebBrwoser.Document.GetelementById(
"Elm"
).id)
Zřejmě budu muset použít druhé řešení, jde mi totiž o to pracovat s daty, které jsem nevytvořil já. Čili si nemůžu vybírat zda jde o xhtml a nebo ne.
WebBrowser jsem zkoušel, ale nějak se mi nepodařilo se dostat k jednotlivým tagům, zkusím to ještě jednou. V každém případě díky.
Hlavně je důležité mít ve WebBrowseru nějaký dokument.
Asi to nebude Váš případ, ale než jsem na tohle já přišel, dosti jsem se natrápil.
Nemáte za co, přeji Vám aby program běžel jak má.
Aha! Našel jsem ve svém kódu výše chybu:
xWebBrowser.Document.GetElementsByTagName(
)(0).Id
Omlouvám se
Aha, tohle byl možná i můj problém, když jsem to zkoušel :)
Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování. Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.
zapomenuté heslo
zaregistrujte se
Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?
Nahlásit Zrušit
zavřít