كيف يمكن تحليل أي HTML في vb.net
-
21-08-2019 - |
سؤال
وأود أن أعرف إذا كان هناك طريقة بسيطة لتحليل HTML في vb.net. وأنا أعلم أن HTML ليست فرعية sctrict من XML، ولكن سيكون من الرائع إذا كان يمكن أن يعامل بهذه الطريقة. هل هناك أي شيء هناك والتي من شأنها أن تسمح لي تحليل HTML بطريقة تشبه XML في VB.net؟
المحلول
الاكواد أجيليتي حزمة - انها المطور ودية للغاية وحرة وشفرة المصدر هو متاح.
نصائح أخرى
'إضافة بروغ المرجع أيضا: Microsoft.mshtml
'ثم على الصفحة:
Imports mshtml
Function parseMyHtml(ByVal htmlToParse$) As String
Dim htmlDocument As IHTMLDocument2 = New HTMLDocumentClass()
htmlDocument.write(htmlToParse)
htmlDocument.close()
Dim allElements As IHTMLElementCollection = htmlDocument.body.all
Dim allInputs As IHTMLElementCollection = allElements.tags("a")
Dim element As IHTMLElement
For Each element In allInputs
element.title = element.innerText
Next
Return htmlDocument.body.innerHTML
End Function
هنا :
إذا HTML الخاص بك يتبع معايير XHTML، يمكنك أن تفعل الكثير من تحليل ومعالجة باستخدام فئات مساحة الاسم System.Xml.
إذا، من ناحية أخرى، إذا كنت تحليل ما على شبكة الإنترنت تشير المطورين ب "العلامة الحساء،" عليك ان تحصل على محلل طرف ثالث مثل <وأ href = "HTTP: //www.codeplex كوم / htmlagilitypack "يختلط =" نوفولو noreferrer "> HTML أجيليتي حزمة .
وهذا قد يكون مجرد حل جزئي للمشكلة إذا كنت في محاولة لمعرفة كيف يمكن لمتصفح ستفسر HTML الخاص بك كما كل متصفح يوزع حساء العلامة بشكل مختلف قليلا.
لا تستخدم حزمة خفة الحركة، ومجرد استخدام MSHTML مكتبة للوصول إلى دوم، وهذا هو ما أي الاستخدامات وكبيرة للذهاب من خلال عناصر HTML.
وحزمة أجيليتي هي سيئة وداع hackie اذا سألتني، MSHTML هو الطريق للذهاب. ننظر إليه على MSDN.
هل شكل جيد؟ إذا كان HTML هي في الواقع بشكل جيد ومن ثم يمكن تحليل كما XML. إذا كانت العلامة الحساء وهناك عناصر غير مغلقة ومثل أود أن تعتقد أنك سوف يكون للبحث في جميع أنحاء لحل طرف ثالث.