2012-05-09 9 views
6

का उपयोग कर किसी तत्व की विशेषता के मान कैसे प्राप्त करें I C# में XmlElement पर काम कर रहा हूं। मेरे पास XmlElement है। XmlElement का स्रोत नीचे दिए गए नमूने की तरह दिखेगा।XMlElement

नमूना:

<data> 
    <p>hello all 
     <strong> 
      <a id="ID1" href="#" name="ZZZ">Name</a> 
     </strong> 
    </p> 
    <a id="ID2" href="#" name="ABC">Address</a> 
</data> 

मैं तत्व नाम a के लिए खोज करने के लिए ऊपर एक्सएमएल के माध्यम से लूप करने के लिए है। मैं उस तत्व की आईडी को एक चर में निकालना चाहता हूं।

असल में मैं तत्व <a> तत्व की आईडी विशेषता प्राप्त करना चाहता हूं। यह एक बच्चे तत्व या एक अलग माता पिता के रूप में हो सकता है।

कोई भी मदद कर सकता है कि यह कैसे किया जा सकता है।

+0

शायद यहाँ में एक ही सवाल http://stackoverflow.com/questions/1216669/मुद्दा-से-get-specific-xml-element-value-use-c-sharp – chanhle

+1

क्या आप वास्तविक XML या HTML को पार्स कर रहे हैं? अब तक तुमने क्या प्रयास किये हैं? – SimonC

+0

मैं असली एक्सएमएल – Patan

उत्तर

4

आप आप इस तरह LINQ करने वाली एक्सएमएल इस्तेमाल कर सकते हैं सी # 4.0 का उपयोग कर रहे हैं के बाद से:

XDocument xdoc = XDocument.Load(@"C:\Tmp\your-xml-file.xml"); 
foreach (var item in xdoc.Descendants("a")) 
{ 
    Console.WriteLine(item.Attribute("id").Value); 
} 

आप तत्व a जहां यह पदानुक्रम में है की परवाह किए बिना देना चाहिए।


अपनी टिप्पणी से, कोड है कि केवल XmlDocument और XmlElement कक्षाओं का उपयोग करता है के लिए बराबर कोड होगा:

XmlDocument dd = new XmlDocument(); 
dd.Load(@"C:\Tmp\test.xml"); 
XmlElement theElem = ((XmlElement)dd.GetElementsByTagName("data")[0]); 
//   ^^ this is your target element 
foreach (XmlElement item in theElem.GetElementsByTagName("a"))//get the <a> 
{ 
    Console.WriteLine(item.Attributes["id"].Value);//get their attributes 
} 
+0

दिखा रहा है मेरा एप्लिकेशन केवल XmlElement ऑब्जेक्ट का समर्थन करेगा। क्या आप तदनुसार अपना जवाब संपादित कर सकते हैं। – Patan

+0

@ उपयोगकर्ता 222 मैंने अपना जवाब अपडेट किया। – gideon

+0

उत्तर के लिए धन्यवाद – Patan

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