/ / HTML všetok text medzi dvoma značkami <div> vb.net - html, vb.net, linq

HTML všetok text medzi dvoma značkami <div> vb.net - html, vb.net, linq

Pracujem na programe, ktorý prevádza text HTML na články, ktoré je možné vložiť do databázy.

Html vyzerá takto:

<HTML>
<div class="article" code="article-0001" title="title">
<p>blablabla</p>
<p>blablablablablabblablablablablablablablabla</p>
<p>blablablablablablablablablabla</p>
<p></p>
<p>blablablablablablablablablblablablablablablablablablablablablablablablablabla</p>
<p></p>
<p>blablablablablablablablablablablablablabla</p>
<p></p>
</div>
<div class="article" code="article-0002" title="title2">
<p>blablabla</p>
<p>blablablablablabblablablablablablablablabla</p>
<p>blablablablablablablablablabla</p>
<p></p>
<p>blablablablablablablablablblablablablablablablablablablablablablablablablabla</p>
<p></p>
<p>blablablablablablablablablablablablablabla</p>
<p></p>
</div>
</HTML>

Viem, ako čítať atribúty vo vnútri <div> tagy. Chcem prečítať všetky informácie medzi začiatkom a koncom značky div.

Text medzi značkami div je HTML tvorený text, ktorý chcem uložiť do svojej databázy. To znamená, že všetky značky HTML v ňom (napríklad <p> & </p> pozri nižšie) je potrebné prečítať.

Ako môžem prečítať celý tento text vo VB.net Momentálne používam Xdocument & Xelement v kombinácii s linq, ale neviem zistiť, ako to urobiť.

odpovede:

1 pre odpoveď č. 1

System.Xml.XmlDocument je to celkom jednoduché, ak chcete, aby sa text vo vnútri značiek div bez použitia značky HTML použil .InnerText, t.j.

Dim doc = New System.Xml.XmlDocument()
doc.LoadXml(xml)
Dim divs = doc.FirstChild.ChildNodes
For Each div As System.Xml.XmlNode In divs
Console.WriteLine(div.InnerText)
Next

Ak chcete ponechať označenie, použite .InnerXml, t.j .:

Dim doc = New System.Xml.XmlDocument()
doc.LoadXml(xml)
Dim divs = doc.FirstChild.ChildNodes
For Each div As System.Xml.XmlNode In divs
Console.WriteLine(div.InnerXml.ToString())
Next

1 pre odpoveď č. 2

Mal som veľa šťastia pri manipulácii s html pomocou Súbor HTML Agility Pack, Nájdete ho aj na nugete.

Jeden potenciálny problém pri používaní Xdocument a Xelement je to, že html nie je nevyhnutne všeobecne xml.