Wednesday, 15 February 2012

c# - LINQ to XML finding elements that occur if later element is present -


यहां एक्सएमएल है जिसके साथ मैं काम कर रहा हूं:

 यहां छवि विवरण दर्ज करें

और मेरा कोड अभी तक है:

  XDocument doc = XDocument.Load ( @ "C: \ Users \ morganjo \ डेस्कटॉप \ bb-tasks.xml"); Var q = doc.Descendants में ("गुण") का चयन करें (स्ट्रिंग) val.Attribute ("value"); फोरेच (स्ट्रिंग स्ट्र क्यू) {Console.WriteLine (str); }   

यह मुझे तत्व मान में सभी संख्याओं के मूल्यों को प्राप्त करेगा I मुझे जो समस्या हो रही है, मुझे केवल मूल्य की ज़रूरत है अगर तत्व 'नाम' 'अवधि' या 'देरी' के बराबर है। चूंकि ये मूल्य के बाद होते हैं, मुझे यकीन नहीं है कि कैसे प्राप्त करें इस बारे में।

विशेषता क्रम कोई फर्क नहीं पड़ता। आप इसका मान और फिल्टर तत्वों का उपयोग कर सकते हैं:

  var q = doc.Descendants में "val" से ("गुण") जहां (स्ट्रिंग) val.Attribute ("name") == " देरी "|| (स्ट्रिंग) val.Attribute ("name") == "अवधि" चुनें (स्ट्रिंग) val.Attribute ("value");   

या चलो कीवर्ड का उपयोग एट्रिब्यूट वैल्यू और उसके बाद दो बार करें:

  var q = doc से val में Descendants ("गुण") नाम दें = (स्ट्रिंग) val.Attribute ("name") जहां नाम == "देरी" || मान == "अवधि" चुनें (स्ट्रिंग) val.Attribute ("value");    

No comments:

Post a Comment