Recursively reading an xml document and using regex to get contents -
मेरे पास एक XML दस्तावेज़ है जैसे:
& Lt; menuitem navigateurl = "/ PressCentre /" text = "& amp; # 1087; & amp; # 1088; और # 1077; & amp; # 1089; & amp; # 1094; & amp; # 1077; & amp; # 1085; & amp; # 1090; & amp; # 1098; & amp; # 1088; "& gt; & Lt; menuitem navigateurl = "/ PressCentre / RegisterForPressAlerts /" text = "& amp; # 1088; & amp; # 1077; & amp; # 1075; & amp; # 1080; और # 1089; & amp; # 1090; & amp; # 1098; & Amp; # 1088; और # 1079; और # 1072; और # 1087; & amp; # 1088; और # 1077; & amp; # 1089; और # 1089; & amp; # 1098; & amp; # 1086; & amp; # 1073; & amp; # 1097; & amp; # 1077; & amp; # 1085; & amp; # 1080; & amp; # 1103; " / & Gt; & Lt; menuitem navigateurl = "/ PressCentre / PressReleases /" text = "& amp; # 1087; & amp; # 1088; और # 1077; & amp; # 1089; और # 1089; & amp; # 1098; & amp; # 1086; & amp; # 1073; & amp; # 1097; & amp; # 1077; & amp; # 1085; & amp; # 1080; & amp; # 1103; "& gt; & Lt; menuitem navigateurl = "/ PressCentre / PressReleases / PressReleasesArchive /" text = "& amp; # 1072; & amp; # 1088; & amp; # 1093; & amp; # 1080; और # 1074; & amp; # 1087; & amp; # 1088; और # 1077; और # 1089; और # 1089; & amp; # 1098; & amp; # 1086; और # 1073; & amp; # 1097; और # 1077; & amp; # 1085; & amp; # 1080; & amp; # 1103; " / & Gt; & Lt; / MENUITEM & gt; & Lt; menuitem navigateurl = "/ PressCentre / PressKit /" text = "& amp; # 1087; & amp; # 1088; और # 1077; & amp; # 1089; & amp; # 1082; & amp; # 1086; & amp; # 1084; & amp; # 1087; & amp; # 1083; & amp; # 1077; & amp; # 1082; & amp; # 1090; "& gt; & Lt; menuitem navigateurl = "/ PressCentre / PressKit / FactSheets /" text = "& amp; # 1089; & amp; # 1087; & amp; # 1080; & amp; # 1089; & amp; # 1098; & amp; # 1082; & amp; # 1092; & amp; # 1072; & amp; # 1082; & amp; # 1090; & amp; # 1080; " / & Gt; & Lt; menuitem navigateurl = "/ PressCentre / PressKit / ExpertComments /" text = "& amp; # 1082; & amp; # 1086; & amp; # 1084; & amp; # 1077; & amp; # 1085; & amp; # 1090; & amp; # 1072; और # 1088; और # 1080; और # 1085; और # 1072; और # 1077; और # 1082; & amp; # 1089; और # 1087; & amp; # 1077; & amp; # 1088; & amp; # 1090; & amp; # 1080; " / & Gt; & Lt; menuitem navigateurl = "/ PressCentre / PressKit / प्रशंसापत्र /" टेक्स्ट = "& amp; # 1087; & amp; # 1088; & amp; # 1077; & amp; # 1087; & amp; # 1086; & amp; # 1088; & amp; # 1098; & amp; # 1082; & amp; # 1080; " / & Gt; & Lt; menuitem navigateurl = "/ PressCentre / PressKit / MediaFiles /" text = "& amp; # 1084; & amp; # 1077; और # 1076; & amp; # 1080; & amp; # 1103; & amp; # 1092; & amp; # 1072; & amp; # 1081; & amp; # 1083; & amp; # 1086; & amp; # 1074; & amp; # 1077; " / & Gt; & Lt; menuitem navigateurl = "/ PressCentre / PressKit / फोटोग्राफ़ी /" टेक्स्ट = "& amp; # 1089; & amp; # 1085; & amp; # 1080; & amp; # 1084; & amp; # 1082; & amp; # 1080;" / & Gt; & Lt; / MENUITEM & gt; & Lt; menuitem navigateurl = "/ PressCentre / PressContacts /" text = "& amp; # 1087; & amp; # 1088; और # 1077; & amp; # 1089; और # 1082; & amp; # 1086; & amp; # 1085; & amp; # 1090; & amp; # 1072; & amp; # 1082; & amp; # 1090; & amp; # 1080; " / & Gt; & Lt; / MENUITEM & gt; मुझे navigateurl के बीच मूल्य प्राप्त करने की आवश्यकता है (उदा। "/ PressCentre") क्या ऐसा करने के लिए एक अच्छी तरह से जाना जाता है?
धन्यवाद
एक बुनियादी पुनरावर्ती (परीक्षण नहीं किया गया लेकिन मुझे लगता है कि यह ठीक है):
निजी शून्य कॉलर (स्ट्रिंग फ़ाइलपथ) {XPathDocument oDoc = नया XPathDocument (फ़ाइलपथ); रीड-नोड्स (ओडोक। क्रेनेट नॅविगेटर ()); } निजी शून्य readnodes (XPathNavigator nav) (XPathNodeIterator नोड्स = nav.Select ("menuitem"); जबकि (nodes.MoveNext ()) {// A - विशेषता स्ट्रिंग url = नोड्स पढ़ें। Current.GetAttribute ("navigateurl", string.Empty); // बी - डेटा के साथ कुछ करो // सी - recurse ReadNodes (नोड्स। वर्तमान); }} ... काम करता है क्योंकि एक XPathNodeIterator की वर्तमान संपत्ति भी एक XPathNavigator है जाहिर है आपको इसे बढ़ाकर एक शब्दकोश में डेटा पुश करने या गहराई या जो भी हो, का ट्रैक रखने की आवश्यकता होगी।
Comments
Post a Comment