Guest User

Untitled

a guest
Apr 21st, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.88 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8" standalone="yes"?>
  2. <ListaDeRegimes>
  3. <Regime nome="RJR">
  4. <nome>This is Regime Info</nome>
  5. <descricao>This is Regime Description</descricao>
  6. <região nome="Mainland">
  7. <grupo nome="group1">
  8. <Serviços>
  9. <nome>Service1</nome>
  10. <link>#</link>
  11. </Serviços>
  12. <Serviços>
  13. <nome>Service2</nome>
  14. <link>#</link>
  15. </Serviços>
  16. <Serviços>
  17. <nome>Service3</nome>
  18. <link>#</link>
  19. </Serviços>
  20. </grupo>
  21. <grupo nome="group2">
  22. <Serviços>
  23. <nome>Service1</nome>
  24. <link>#</link>
  25. </Serviços>
  26. <Serviços>
  27. <nome>Service2</nome>
  28. <link>#</link>
  29. </Serviços>
  30. <Serviços>
  31. <nome>Service3</nome>
  32. <link>#</link>
  33. </Serviços>
  34. </grupo>
  35. </região>
  36. <região nome="Islands">
  37. <grupo nome="group1">
  38. <Serviços>
  39. <nome>Service1</nome>
  40. <link>#</link>
  41. </Serviços>
  42. <Serviços>
  43. <nome>Service2</nome>
  44. <link>#</link>
  45. </Serviços>
  46. </grupo>
  47. <grupo nome="group2">
  48. <Serviços>
  49. <nome>Service1</nome>
  50. <link>#</link>
  51. </Serviços>
  52. <Serviços>
  53. <nome>Service2</nome>
  54. <link>#</link>
  55. </Serviços>
  56. </grupo>
  57. </região>
  58. </Regime>
  59. <Regime nome="AL">
  60. <nome>This is Regime Name</nome>
  61. <descricao>This is Regime Description</descricao>
  62. <região nome="Mainland">
  63. <grupo>
  64. <Serviços>
  65. <nome>Service1</nome>
  66. <link>#</link>
  67. </Serviços>
  68. <Serviços>
  69. <nome>Service2</nome>
  70. <link>#</link>
  71. </Serviços>
  72. <Serviços>
  73. <nome>Service3</nome>
  74. <link>#</link>
  75. </Serviços>
  76. </grupo>
  77. </região>
  78. </Regime>
  79.  
  80. public DataTable GetCategorias()
  81. {
  82.  
  83. DataTable oDataTable = null;
  84. string[] columnNameList = new string[6] { "NomeDeRegime", "NomeDeDescricao", "NomeDeRegiao", "NomeDeGrupos", "NomeDeServiços", "LinkDeServiços" };
  85. oDataTable = new DataTable();
  86. oDataTable.Locale = CultureInfo.InvariantCulture;
  87. oDataTable = BuildDataTable(columnNameList);
  88.  
  89. XmlDocument xmlDoc = new XmlDocument();
  90. string xmlPath;
  91.  
  92. xmlPath = @"C:UsersUtilizadorDesktopListagemdeServiços.xml";
  93. xmlDoc.Load(xmlPath);
  94. XmlNodeList ListaDeRegimes = null;
  95.  
  96. ListaDeRegimes = xmlDoc.SelectNodes("//ListaDeRegimes");
  97.  
  98.  
  99. //if (ListaDeRegimes != null)
  100.  
  101.  
  102. foreach (XmlNode Regime in ListaDeRegimes)
  103. {
  104. string NomeDeRegime = "";
  105. string NomeDeDescricao = "";
  106. string NomeDeRegiao = "";
  107. string NomeDeGrupos = "";
  108. string NomeDeServiços = "";
  109. string LinkDeServiços = "";
  110.  
  111. XmlNodeList RegimeList = Regime.SelectNodes("//Regime");
  112.  
  113. foreach (XmlNode RegimeNode in RegimeList)
  114. {
  115. NomeDeRegime = RegimeNode.SelectSingleNode("nome").FirstChild.Value;
  116. if (RegimeNode.SelectSingleNode("descricao") != null)
  117. {
  118. NomeDeDescricao = RegimeNode.SelectSingleNode("descricao").FirstChild.Value;
  119. }
  120.  
  121. //Listar lista do nome de regiao
  122. string[] valueList = valueList = new string[6] { NomeDeRegime, NomeDeDescricao, "", "", "", "" };
  123.  
  124. oDataTable = DataTableAddRow(oDataTable, valueList);
  125. foreach (XmlNode childnodes in RegimeNode.ChildNodes)
  126. {
  127. if (childnodes.Name == "região")
  128. {
  129. if (childnodes.Attributes["nome"].Value != null)
  130. {
  131. NomeDeRegiao = childnodes.Attributes["nome"].Value;
  132. }
  133. else
  134. {
  135. NomeDeRegiao = "";
  136. }
  137. valueList = new string[6] { "", "", NomeDeRegiao, "", "", "" };
  138.  
  139. oDataTable = DataTableAddRow(oDataTable, valueList);
  140. foreach (XmlNode NodeGrupos in childnodes)
  141. {
  142. if (NodeGrupos.Attributes["nome"] == null)
  143. {
  144. NomeDeGrupos = "";
  145.  
  146. }
  147. else if (NodeGrupos.Attributes["nome"].Value != null)
  148. {
  149. NomeDeGrupos = NodeGrupos.Attributes["nome"].Value;
  150. }
  151. else
  152. {
  153. NomeDeGrupos = "";
  154.  
  155. }
  156. valueList = new string[6] { "", "", "", NomeDeGrupos, "", "" };
  157.  
  158. oDataTable = DataTableAddRow(oDataTable, valueList);
  159.  
  160. foreach (XmlNode NodeServiços in NodeGrupos)
  161. {
  162.  
  163. if (NodeServiços.SelectSingleNode("nome") != null)
  164. {
  165. NomeDeServiços = NodeServiços.SelectSingleNode("nome").FirstChild.Value;
  166.  
  167. if (NodeServiços.SelectSingleNode("link") != null)
  168. {
  169. LinkDeServiços = NodeServiços.SelectSingleNode("link").FirstChild.Value;
  170.  
  171. }
  172. else
  173. {
  174. LinkDeServiços = "";
  175.  
  176. }
  177. }
  178. else
  179. {
  180. NomeDeServiços = "";
  181.  
  182. }
  183.  
  184.  
  185. valueList = new string[6] { "", "", "", "", NomeDeServiços, LinkDeServiços };
  186.  
  187. oDataTable = DataTableAddRow(oDataTable, valueList);
  188.  
  189. }
  190. }
  191. }
  192. }
  193.  
  194. }
  195. }
  196.  
  197.  
  198.  
  199. return oDataTable;
  200. }
  201.  
  202. public static DataTable DataTableAddRow(DataTable _oDataTable, string[] _valueList)
  203. {
  204. try
  205. {
  206. DataRow dtRow = null;
  207. dtRow = _oDataTable.NewRow();
  208. for (int ipos = 0; ipos < _valueList.Length; ipos++)
  209. {
  210. if (_valueList[ipos] != string.Empty)
  211. {
  212. dtRow[ipos] = _valueList[ipos];
  213. }
  214.  
  215. }
  216. _oDataTable.Rows.Add(dtRow);
  217.  
  218. return _oDataTable;
  219. }
  220. catch
  221. {
  222. return null;
  223. }
  224. }
  225.  
  226. public static DataTable BuildDataTable(string[] _columnNameList)
  227. {
  228. try
  229. {
  230. DataTable oTable = new DataTable();
  231. oTable.Locale = CultureInfo.InvariantCulture;
  232. DataColumn dtCol = new DataColumn();
  233. for (int ipos = 0; ipos < _columnNameList.Length; ipos++)
  234. {
  235. dtCol = new DataColumn();
  236. dtCol.ColumnName = _columnNameList[ipos].ToString();
  237. oTable.Columns.Add(dtCol);
  238. }
  239. return oTable;
  240. }
  241. catch
  242. {
  243. return null;
  244. }
  245. }
  246.  
  247. <body>
  248. <form id="form1" runat="server">
  249. <div>
  250. <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
  251. <ItemTemplate>
  252. <div>
  253. <span class="categoryLabel">
  254. <span class="textLabel"><%# DataBinder.Eval(Container.DataItem, "NomeDeRegime") %></span>
  255. <span class="iconLabel"><%# DataBinder.Eval(Container.DataItem, "NomeDeDescricao") %></span>
  256. </span>
  257. </div>
  258. <ul>
  259. <li>
  260. <div class="searchResultsListItem">
  261. <h3>
  262. <a href="<%# DataBinder.Eval(Container.DataItem, "LinkDeServiços") %>" onclick="recordClickEvent(this,'10_1', null);"><%# DataBinder.Eval(Container.DataItem, "NomeDeServiços") %></a>
  263. </h3>
  264. </div>
  265. </li>
  266. </ul>
  267. </ItemTemplate>
  268. </asp:Repeater>
  269. </div>
  270. </form>
  271. </body>
Add Comment
Please, Sign In to add comment