2012-01-04 13 views
5

मैं इसे htmlagilitypack के माध्यम से एकाधिक नोड्स चुनने के रूप में कोशिश कर रहा हूं लेकिन यह विफल हो जाता है। सही वाक्यविन्यास क्या है? तो मैं जो कोशिश कर रहा हूं वह ब्रेडक्रंब div तत्व के अंदर एक नोड्स और ली नोड्स एकत्र कर रहा है। धन्यवाद।एक्सपैथ नोड चयन - 2 अलग-अलग तत्वों का चयन कैसे करें - htmlagilitypack

string srxPathOfCategory = "//div[@class='breadcrumbs']//li or //div[@class='breadcrumbs']//a"; 
var selectedNodes = myDoc.DocumentNode.SelectNodes(srxPathOfCategory); 

xpath, सी #, htmlagilitypack

समाधान

string srxPathOfCategory = "//div[@class='breadcrumbs']//li[@class='product'] | //div[@class='breadcrumbs']//a"; 
+1

पोस्ट करें एचटीएमएल का नमूना आप चुनने की कोशिश कर रहे हैं। सटीक एचटीएमएल, ऐसा कुछ नहीं जो आप अपने सिर से बाहर खींचते हैं, जो आपको लगता है कि "पर्याप्त करीब है।" – x0n

+0

वास्तव में यह आवश्यक नहीं है। यदि आप एक्सपैथ के साथ पर्याप्त अनुभव कर रहे थे तो आपको पता चलेगा कि "या" शब्द के बजाय क्या उपयोग किया जाना चाहिए। इसके अलावा मुझे समाधान संपादित संदेश मिला। – MonsterMMORPG

+1

@MonsterMMORPG: इसे एक उत्तर के रूप में रखें, और इसे इस तरह चिह्नित करें :) –

उत्तर

11

समाधान "या" आप उपयोग करने की आवश्यकता के लिए

string srxPathOfCategory = "//div[@class='breadcrumbs']//li[@class='product'] | //div[@class='breadcrumbs']//a"; 

तो है "|"

+0

क्या यह कथन भी "अतिरिक्त" नोड्स के रूप में व्यवहार करेगा? यानी अगर मैं tr [1] प्राप्त करना चाहता हूं। [2], और tr [अंतिम()]। क्या '|' काम होगा, क्या कोई अन्य पैरामीटर आवश्यक है, या क्या उन्हें सभी को अलग होने की आवश्यकता है। – Austin

+0

शानदार उत्तर !!! –

संबंधित मुद्दे