में किसी HTML को पार्स कैसे करते हैं, मैं जानना चाहता हूं कि vb.net में HTML को पार्स करने का कोई आसान तरीका है या नहीं। मुझे पता है कि एचटीएमएल एक्सएमएल का सिक्रेट सबसेट नहीं है, लेकिन अगर यह इस तरह से इलाज किया जा सकता है तो यह अच्छा होगा। क्या वहां कुछ भी है जो मुझे HTML को समान रूप से VB.net में HTML जैसा पार्स करने देगा?आप vb.net
उत्तर
मुझे Html Agility pack पसंद है - यह बहुत डेवलपर अनुकूल, मुफ्त और स्रोत कोड उपलब्ध है।
लेकिन स्वयं दस्तावेज कोड डेवलपर अनुकूल है। मैं समझता हूं कि "डेवलपर फ्रेंडली" शब्द बहुत ही व्यक्तिपरक हो सकता है, हालांकि मैंने एचटीएमएल कोड को पार्स/संशोधित करने के कई तरीकों की कोशिश की और यह सबसे अच्छा है (.NET और फीस-फ्री के लिए), आप क्या प्राप्त कर सकते हैं और दस्तावेज़ीकरण की अनुपस्थिति इसे मत बदलें यह क्रूर वास्तविकता है। – TcKs
मैं एचटीएमएल एजिलिटी पैक को मेरे लिए उपयोगी कुछ भी करने में सक्षम नहीं था। मैं जो भी प्राप्त कर रहा था वह पार्स किए गए प्रारूपित HTML के बजाय टेक्स्टबॉक्स पर सीधे HTML आउटपुट था। –
@ जोएलआरआर। आपने कुछ गलत किया है। क्या आपने इसके बारे में कुछ ट्यूटोरियल पढ़े? – TcKs
क्या यह अच्छी तरह से गठित है? यदि एचटीएमएल वास्तव में अच्छी तरह से गठित किया गया है तो इसे एक्सएमएल के रूप में पार्स किया जा सकता है। यदि यह टैग सूप है और वहां संलग्न तत्व हैं और ऐसा लगता है कि आपको तीसरे पक्ष के समाधान के लिए शिकार करना होगा।
mshtml का उपयोग कर दस्तावेज़ ऑब्जेक्ट मॉडल (डोम) तक पहुंचने के लिए कभी भी क्या हुआ? –
यदि आपका एचटीएमएल एक्सएचटीएमएल मानकों का पालन करता है, तो आप System.XML नेमस्पेस कक्षाओं का उपयोग करके बहुत सी पार्सिंग और प्रसंस्करण कर सकते हैं।
यदि दूसरी तरफ, यदि आप पार्सिंग कर रहे हैं तो वेब डेवलपर्स को "टैग सूप" के रूप में संदर्भित किया जाता है, तो आपको HTML Agility Pack जैसे किसी तृतीय-पक्ष पार्सर की आवश्यकता होगी।
यह आपकी समस्या का केवल आंशिक समाधान हो सकता है यदि आप यह पता लगाने की कोशिश कर रहे हैं कि ब्राउज़र आपके HTML की व्याख्या कैसे करेगा क्योंकि प्रत्येक ब्राउजर टैग सूप को थोड़ा अलग तरीके से पार करता है।
'भी prog रेफरी जोड़ें: 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
के रूप में पाया here:
क्या यह अनिवार्य रूप से उसी पुस्तकालयों का उपयोग नहीं करता है जो आईई अपने डोम को लोड करने के लिए उपयोग करता है? मैंने पहले यह कोशिश की है, लेकिन यह हमेशा इतना गंदे लगता है .... – tooleb
चपलता पैक का उपयोग न करें, बस करने के लिए mshtml लाइब्रेरी का उपयोग डोम तक पहुंचें, यह वही है जो यानी HTML तत्वों के माध्यम से जाने के लिए उपयोग करता है और बहुत अच्छा है।
अगर आप मुझसे पूछते हैं तो चपलता पैक बुरा और अनावश्यक हैकी है, mshtml जाने का रास्ता है। इसे एमएसडीएन पर देखो।
- 1. कैसे आप vb.net
- 2. VB.NET
- 3. vb.net
- 4. VB.NET
- 5. vb.net
- 6. vb.net
- 7. VB.NET
- 8. vb.net
- 9. VB.NET
- 10. vb.net
- 11. VB.NET
- 12. VB.NET
- 13. VB.net
- 14. VB.NET
- 15. VB.NET
- 16. VB.NET
- 17. VB.NET
- 18. VB.NET
- 19. VB.NET
- 20. vb.net
- 21. vb.net
- 22. VB.NET
- 23. vb.net
- 24. VB.Net
- 25. VB.NET
- 26. VB.net
- 27. VB.NET
- 28. VB.NET
- 29. VB.Net
- 30. vb.net
यह जवाब देने में हमारी सहायता कर सकता है अगर आप यह बताते हैं कि आप इसे पार्स करने के बाद क्या करना चाहते हैं। – Rob
अभी के लिए, मैं विशिष्ट divs में सभी लिंक, पाठ और छवियों का चयन करने में सक्षम होने में रुचि रखते हैं। जहां div class या id पृष्ठ से पृष्ठ पर बदल/बदल सकता है। – tooleb
ऐसा लगता है जैसे एचटीएमएल एजिलिटी पैक शायद मेरे लिए काम करेगा। क्या कोई अन्य विकल्प हैं ???? – tooleb