سؤال

وأود أن أعرف إذا كان هناك طريقة بسيطة لتحليل 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. إذا كانت العلامة الحساء وهناك عناصر غير مغلقة ومثل أود أن تعتقد أنك سوف يكون للبحث في جميع أنحاء لحل طرف ثالث.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top