XML绑定TreeView
- privatevoidXmlOperation_Load(objectsender,EventArgse)
- {
- path=AppDomain.CurrentDomain.BaseDirectory+@"NameList.xml";
- xml.Load(path);//加载xml文件
- bindTvXml();
- }
- ///<summary>
- ///绑定TreeView
- ///</summary>
- privatevoidbindTvXml()
- {
- for(inti=0;i<xml.DocumentElement.ChildNodes.Count;i++)
- {
- XmlNodeXnode=xml.DocumentElement.ChildNodes[i];
- TreeNodenode=newTreeNode();
- node.Text=Xnode.Attributes["name"].Value;
- node.Tag=Xnode;
- bindChildNode(node,Xnode);//绑定子节点
- TvXml.Nodes.Add(node);
- TvXml.HideSelection=false;
- }
- }
- ///<summary>
- ///递归绑定子节点
- ///</summary>
- ///<paramname="node"></param>
- ///<paramname="xml"></param>
- privatevoidbindChildNode(TreeNodenode,XmlNodexml)
- {
- for(inti=0;i<xml.ChildNodes.Count;i++)
- {
- TreeNodeChildnode=newTreeNode();
- XmlNodeChildXml=xml.ChildNodes[i];
- Childnode.Text=ChildXml.Value;
- Childnode.Name="1";
- Childnode.Tag=xml.ChildNodes[i];
- if(ChildXml.HasChildNodes)
- {
- if(ChildXml.ChildNodes[0].NodeType==XmlNodeType.Text)
- Childnode.Text=ChildXml.ChildNodes[0].InnerText;
- else
- bindChildNode(Childnode,ChildXml);
- }
- node.Nodes.Add(Childnode);
- }
- }
- publicclassManageXML
- {
- ///<summary>
- ///返回用户操作的SQL语句
- ///</summary>
- ///<paramname="sqlNodeName">XML的操作节点</param>
- ///<returns>操作的sql语句</returns>
- publicstaticstringGetXMLPath(stringstrXMlFileName)
- {
- stringm_strFullPath="";
- AssemblyAsm=Assembly.GetExecutingAssembly();
- //获取文件的路径
- //m_strFullPath=Asm.Location.Substring(0,(Asm.Location.LastIndexOf("")+1))+"XMLSql.xml";
- m_strFullPath=AppDomain.CurrentDomain.BaseDirectory+"XMLLibrary"+strXMlFileName;
- returnm_strFullPath;
- }
- ///<summary>
- ///获取XML数据库中的数据的方法
- ///</summary>
- ///<paramname="strFilePath">传入文件路径</param>
- ///<returns>返回一个数据集</returns>
- publicstaticDataSetGetAllDataFromXML(stringstrFilePath)
- {
- DataSetds=newDataSet();
- FileInfofileInfo=newFileInfo(strFilePath);
- if(fileInfo.Exists)
- {
- try
- {
- ds.ReadXml(strFilePath);
- }
- catch{}
- }
- else
- {
- ds=null;
- }
- if(ds!=null)
- {
- if(ds.Tables[0].Rows.Count<1)
- ds=null;
- }
- returnds;
- }
- ///<summary>
- ///获取指定目录下所有子节点的值
- ///</summary>
- ///<paramname="strFileName">文件路径</param>
- ///<paramname="nodeDir">节点目录</param>
- ///<returns></returns>
- publicstaticHashtableGetNodeList(stringstrFileName,stringnodeDir)
- {
- HashtablestrNodeList=newHashtable();
- try
- {
- XmlDocumentxmlDoc=newXmlDocument();
- xmlDoc.Load(strFileName);
- XmlNodeListnodeList=xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点
- foreach(XmlNodexninnodeList)//遍历所有子节点
- {
- XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
- strNodeList.Add(xe.GetAttribute("id").ToString(),xe.InnerText.Trim());
- }
- }
- catch(Exception)
- {
- throw;
- }
- returnstrNodeList;
- }
- ///<summary>
- ///获取指定节点的值
- ///</summary>
- ///<paramname="strFileName">文件路径</param>
- ///<paramname="nodeName">节点名称</param>
- ///<paramname="value">设置后的值</param>
- ///<paramname="nodeDir">指定节点所在的节点目录</param>
- ///<returns></returns>
- publicstaticstringGetNodeValue(stringstrFileName,stringnodeName,stringnodeDir)
- {
- stringvalue=null;
- try
- {
- XmlDocumentxmlDoc=newXmlDocument();
- xmlDoc.Load(strFileName);
- XmlNodeListnodeList=xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点
- foreach(XmlNodexninnodeList)//遍历所有子节点
- {
- XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
- if(xe.Name==nodeName)
- {
- value=xe.InnerText.Trim();
- break;
- }
- }
- }
- catch(Exceptionexp)
- {
- throwexp;
- }
- returnvalue;
- }
- ///<summary>
- ///获取指定节点下面对应属性的值
- ///</summary>
- ///<paramname="strFileName">文件路径</param>
- ///<paramname="nodeName">节点名称</param>
- ///<paramname="nodeDir">指定节点所在的节点目录</param>
- ///<paramname="attribute">节点对应的属性名称</param>
- ///<returns></returns>
- publicstaticstringGetNodeValue(stringstrFileName,stringnodeDir,stringattribute)
- {
- stringvalue=null;
- try
- {
- XmlDocumentxmlDoc=newXmlDocument();
- xmlDoc.Load(strFileName);
- XmlNodeListnodeList=xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点
- foreach(XmlNodexninnodeList)//遍历所有子节点
- {
- XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
- if(xe.Name==nodeName)
- {
- //value=xe.InnerText.Trim();
- value=(xe).Attributes[attribute].Value;
- break;
- }
- }
- }
- catch(Exceptionexp)
- {
- throwexp;
- }
- returnvalue;
- }
- ///<summary>
- ///修改指定结点值
- ///</summary>
- ///<paramname="strFileName">文件路径</param>
- ///<paramname="nodeName">节点名称</param>
- ///<paramname="value">设置后的值</param>
- ///<paramname="nodeDir">指定节点所在的节点目录</param>
- ///<returns></returns>
- publicstaticboolUpdateNoteValue(stringstrFileName,stringvalue,stringnodeDir)
- {
- boolisSucceed=false;
- try
- {
- XmlDocumentxmlDoc=newXmlDocument();
- xmlDoc.Load(strFileName);
- XmlNodeListnodeList=xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点
- foreach(XmlNodexninnodeList)//遍历所有子节点
- {
- XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
- if(xe.Name==nodeName)
- {
- xe.InnerText=value;
- isSucceed=true;
- break;
- }
- }
- xmlDoc.Save(strFileName);
- }
- catch(Exceptionexp)
- {
- throwexp;
- }
- returnisSucceed;
- }
- ///<summary>
- ///修改指定结点值
- ///</summary>
- ///<paramname="strFileName">文件路径</param>
- ///<paramname="nodeName">节点名称</param>
- ///<paramname="value">设置后的值</param>
- ///<paramname="nodeDir">指定节点所在的节点目录</param>
- ///<returns></returns>
- publicstaticboolUpdateNoteValue(stringstrFileName,stringattribute,stringattributeValue)
- {
- boolisSucceed=false;
- try
- {
- XmlDocumentxmlDoc=newXmlDocument();
- xmlDoc.Load(strFileName);
- XmlNodeListnodeList=xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点
- foreach(XmlNodexninnodeList)//遍历所有子节点
- {
- XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
- if(xe.Name==nodeName)
- {
- xe.InnerText=value;
- (xe).Attributes[attribute].Value=attributeValue;
- isSucceed=true;
- break;
- }
- }
- xmlDoc.Save(strFileName);
- }
- catch(Exceptionexp)
- {
- throwexp;
- }
- returnisSucceed;
- }
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|