加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML操作

发布时间:2020-12-16 06:01:31 所属栏目:百科 来源:网络整理
导读:XML绑定TreeView privatevoidXmlOperation_Load(objectsender,EventArgse) { path = AppDomain .CurrentDomain.BaseDirectory+@"NameList.xml"; xml.Load(path);//加载xml文件 bindTvXml(); } /// summary ///绑定TreeView /// / summary privatevoidbindTvX


XML绑定TreeView

 
 
  1. privatevoidXmlOperation_Load(objectsender,EventArgse)
  2. {
  3. path=AppDomain.CurrentDomain.BaseDirectory+@"NameList.xml";
  4. xml.Load(path);//加载xml文件
  5. bindTvXml();
  6. }

  7. ///<summary>
  8. ///绑定TreeView
  9. ///</summary>
  10. privatevoidbindTvXml()
  11. {
  12. for(inti=0;i<xml.DocumentElement.ChildNodes.Count;i++)
  13. {
  14. XmlNodeXnode=xml.DocumentElement.ChildNodes[i];
  15. TreeNodenode=newTreeNode();
  16. node.Text=Xnode.Attributes["name"].Value;
  17. node.Tag=Xnode;
  18. bindChildNode(node,Xnode);//绑定子节点
  19. TvXml.Nodes.Add(node);
  20. TvXml.HideSelection=false;
  21. }
  22. }
  23. ///<summary>
  24. ///递归绑定子节点
  25. ///</summary>
  26. ///<paramname="node"></param>
  27. ///<paramname="xml"></param>
  28. privatevoidbindChildNode(TreeNodenode,XmlNodexml)
  29. {
  30. for(inti=0;i<xml.ChildNodes.Count;i++)
  31. {
  32. TreeNodeChildnode=newTreeNode();
  33. XmlNodeChildXml=xml.ChildNodes[i];
  34. Childnode.Text=ChildXml.Value;
  35. Childnode.Name="1";
  36. Childnode.Tag=xml.ChildNodes[i];
  37. if(ChildXml.HasChildNodes)
  38. {
  39. if(ChildXml.ChildNodes[0].NodeType==XmlNodeType.Text)
  40. Childnode.Text=ChildXml.ChildNodes[0].InnerText;
  41. else
  42. bindChildNode(Childnode,ChildXml);
  43. }
  44. node.Nodes.Add(Childnode);
  45. }
  46. }
  47. publicclassManageXML
  48. {
  49. ///<summary>
  50. ///返回用户操作的SQL语句
  51. ///</summary>
  52. ///<paramname="sqlNodeName">XML的操作节点</param>
  53. ///<returns>操作的sql语句</returns>
  54. publicstaticstringGetXMLPath(stringstrXMlFileName)
  55. {
  56. stringm_strFullPath="";
  57. AssemblyAsm=Assembly.GetExecutingAssembly();
  58. //获取文件的路径
  59. //m_strFullPath=Asm.Location.Substring(0,(Asm.Location.LastIndexOf("")+1))+"XMLSql.xml";
  60. m_strFullPath=AppDomain.CurrentDomain.BaseDirectory+"XMLLibrary"+strXMlFileName;
  61. returnm_strFullPath;
  62. }
  63. ///<summary>
  64. ///获取XML数据库中的数据的方法
  65. ///</summary>
  66. ///<paramname="strFilePath">传入文件路径</param>
  67. ///<returns>返回一个数据集</returns>
  68. publicstaticDataSetGetAllDataFromXML(stringstrFilePath)
  69. {
  70. DataSetds=newDataSet();
  71. FileInfofileInfo=newFileInfo(strFilePath);
  72. if(fileInfo.Exists)
  73. {
  74. try
  75. {
  76. ds.ReadXml(strFilePath);
  77. }
  78. catch{}
  79. }
  80. else
  81. {
  82. ds=null;
  83. }
  84. if(ds!=null)
  85. {
  86. if(ds.Tables[0].Rows.Count<1)
  87. ds=null;
  88. }
  89. returnds;
  90. }
  91. ///<summary>
  92. ///获取指定目录下所有子节点的值
  93. ///</summary>
  94. ///<paramname="strFileName">文件路径</param>
  95. ///<paramname="nodeDir">节点目录</param>
  96. ///<returns></returns>
  97. publicstaticHashtableGetNodeList(stringstrFileName,stringnodeDir)
  98. {
  99. HashtablestrNodeList=newHashtable();
  100. try
  101. {
  102. XmlDocumentxmlDoc=newXmlDocument();
  103. xmlDoc.Load(strFileName);
  104. XmlNodeListnodeList=xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点
  105. foreach(XmlNodexninnodeList)//遍历所有子节点
  106. {
  107. XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
  108. strNodeList.Add(xe.GetAttribute("id").ToString(),xe.InnerText.Trim());
  109. }
  110. }
  111. catch(Exception)
  112. {
  113. throw;
  114. }
  115. returnstrNodeList;
  116. }
  117. ///<summary>
  118. ///获取指定节点的值
  119. ///</summary>
  120. ///<paramname="strFileName">文件路径</param>
  121. ///<paramname="nodeName">节点名称</param>
  122. ///<paramname="value">设置后的值</param>
  123. ///<paramname="nodeDir">指定节点所在的节点目录</param>
  124. ///<returns></returns>
  125. publicstaticstringGetNodeValue(stringstrFileName,stringnodeName,stringnodeDir)
  126. {
  127. stringvalue=null;
  128. try
  129. {
  130. XmlDocumentxmlDoc=newXmlDocument();
  131. xmlDoc.Load(strFileName);
  132. XmlNodeListnodeList=xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点
  133. foreach(XmlNodexninnodeList)//遍历所有子节点
  134. {
  135. XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
  136. if(xe.Name==nodeName)
  137. {
  138. value=xe.InnerText.Trim();
  139. break;
  140. }
  141. }
  142. }
  143. catch(Exceptionexp)
  144. {
  145. throwexp;
  146. }
  147. returnvalue;
  148. }
  149. ///<summary>
  150. ///获取指定节点下面对应属性的值
  151. ///</summary>
  152. ///<paramname="strFileName">文件路径</param>
  153. ///<paramname="nodeName">节点名称</param>
  154. ///<paramname="nodeDir">指定节点所在的节点目录</param>
  155. ///<paramname="attribute">节点对应的属性名称</param>
  156. ///<returns></returns>
  157. publicstaticstringGetNodeValue(stringstrFileName,stringnodeDir,stringattribute)
  158. {
  159. stringvalue=null;
  160. try
  161. {
  162. XmlDocumentxmlDoc=newXmlDocument();
  163. xmlDoc.Load(strFileName);
  164. XmlNodeListnodeList=xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点
  165. foreach(XmlNodexninnodeList)//遍历所有子节点
  166. {
  167. XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
  168. if(xe.Name==nodeName)
  169. {
  170. //value=xe.InnerText.Trim();
  171. value=(xe).Attributes[attribute].Value;
  172. break;
  173. }
  174. }
  175. }
  176. catch(Exceptionexp)
  177. {
  178. throwexp;
  179. }
  180. returnvalue;
  181. }
  182. ///<summary>
  183. ///修改指定结点值
  184. ///</summary>
  185. ///<paramname="strFileName">文件路径</param>
  186. ///<paramname="nodeName">节点名称</param>
  187. ///<paramname="value">设置后的值</param>
  188. ///<paramname="nodeDir">指定节点所在的节点目录</param>
  189. ///<returns></returns>
  190. publicstaticboolUpdateNoteValue(stringstrFileName,stringvalue,stringnodeDir)
  191. {
  192. boolisSucceed=false;
  193. try
  194. {
  195. XmlDocumentxmlDoc=newXmlDocument();
  196. xmlDoc.Load(strFileName);
  197. XmlNodeListnodeList=xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点
  198. foreach(XmlNodexninnodeList)//遍历所有子节点
  199. {
  200. XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
  201. if(xe.Name==nodeName)
  202. {
  203. xe.InnerText=value;
  204. isSucceed=true;
  205. break;
  206. }
  207. }
  208. xmlDoc.Save(strFileName);
  209. }
  210. catch(Exceptionexp)
  211. {
  212. throwexp;
  213. }
  214. returnisSucceed;
  215. }
  216. ///<summary>
  217. ///修改指定结点值
  218. ///</summary>
  219. ///<paramname="strFileName">文件路径</param>
  220. ///<paramname="nodeName">节点名称</param>
  221. ///<paramname="value">设置后的值</param>
  222. ///<paramname="nodeDir">指定节点所在的节点目录</param>
  223. ///<returns></returns>
  224. publicstaticboolUpdateNoteValue(stringstrFileName,stringattribute,stringattributeValue)
  225. {
  226. boolisSucceed=false;
  227. try
  228. {
  229. XmlDocumentxmlDoc=newXmlDocument();
  230. xmlDoc.Load(strFileName);
  231. XmlNodeListnodeList=xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点
  232. foreach(XmlNodexninnodeList)//遍历所有子节点
  233. {
  234. XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
  235. if(xe.Name==nodeName)
  236. {
  237. xe.InnerText=value;
  238. (xe).Attributes[attribute].Value=attributeValue;
  239. isSucceed=true;
  240. break;
  241. }
  242. }
  243. xmlDoc.Save(strFileName);
  244. }
  245. catch(Exceptionexp)
  246. {
  247. throwexp;
  248. }
  249. returnisSucceed;
  250. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读