XML操作


        XML绑定TreeView  


 
 
    •   
    •  private void XmlOperation_Load(object sender, EventArgs e)  
    •         {  
    •             path = AppDomain.CurrentDomain.BaseDirectory + @"NameList.xml";  
    •             xml.Load(path);//加载xml文件  
    •             bindTvXml();  
    •         }  

    •   
    •   
    •         /// <summary>  
    •         /// 绑定TreeView  
    •         /// </summary>  
    •         private void bindTvXml()  
    •         {  
    •             for (int i = 0; i < xml.DocumentElement.ChildNodes.Count; i++)  
    •             {  
    •                 XmlNode Xnode = xml.DocumentElement.ChildNodes[i];  
    •                 TreeNode node = new TreeNode();  
    •                 node.Text = Xnode.Attributes["name"].Value;  
    •                 node.Tag = Xnode;  
    •                 bindChildNode(node, Xnode);//绑定子节点  
    •                 TvXml.Nodes.Add(node);  
    •                 TvXml.HideSelection = false;  
    •             }  
    •         }  
    •           
    •         /// <summary>  
    •         /// 递归绑定子节点  
    •         /// </summary>  
    •         /// <param name="node"></param>  
    •         /// <param name="xml"></param>  
    •         private void bindChildNode(TreeNode node, XmlNode xml)  
    •         {  
    •             for (int i = 0; i < xml.ChildNodes.Count; i++)  
    •             {  
    •                 TreeNode Childnode = new TreeNode();  
    •                 XmlNode ChildXml = 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);  
    •             }  
    •              
    •         }  
    •   
    •   
    •   
    •   
    • public class ManageXML  
    •     {  
    •         /// <summary>  
    •         /// 返回用户操作的SQL语句  
    •         /// </summary>  
    •         /// <param name="sqlNodeName">XML的操作节点</param>  
    •         /// <returns>操作的sql语句</returns>  
    •         public static string GetXMLPath(string strXMlFileName)  
    •         {  
    •             string m_strFullPath = "";  
    •             Assembly Asm = Assembly.GetExecutingAssembly();  
    •             //获取文件的路径                    
    •             //m_strFullPath = Asm.Location.Substring(0, (Asm.Location.LastIndexOf("\\") + 1)) + "XMLSql.xml";  
    •             m_strFullPath = AppDomain.CurrentDomain.BaseDirectory + "XMLLibrary\\" + strXMlFileName;  
    •             return m_strFullPath;  
    •         }  
    •         /// <summary>  
    •         /// 获取XML数据库中的数据的方法  
    •         /// </summary>  
    •         /// <param name="strFilePath">传入文件路径</param>  
    •         /// <returns>返回一个数据集</returns>  
    •         public static DataSet GetAllDataFromXML(string strFilePath)  
    •         {  
    •             DataSet ds = new DataSet();  
    •             FileInfo fileInfo = new FileInfo(strFilePath);  
    •             if (fileInfo.Exists)  
    •             {  
    •                 try  
    •                 {  
    •                     ds.ReadXml(strFilePath);  
    •                 }  
    •                 catch { }  
    •             }  
    •             else  
    •             {  
    •                 ds = null;  
    •             }  
    •             if (ds != null)  
    •             {  
    •                 if (ds.Tables[0].Rows.Count < 1)  
    •                     ds = null;  
    •             }  
    •             return ds;  
    •         }  
    •   
    •   
    •         /// <summary>  
    •         /// 获取指定目录下所有子节点的值  
    •         /// </summary>  
    •         /// <param name="strFileName">文件路径</param>  
    •         /// <param name="nodeDir">节点目录</param>  
    •         /// <returns></returns>  
    •         public static  Hashtable GetNodeList(string strFileName, string nodeDir)  
    •         {  
    •             Hashtable strNodeList = new Hashtable();  
    •             try  
    •             {  
    •                 XmlDocument xmlDoc = new XmlDocument();  
    •                 xmlDoc.Load(strFileName);  
    •   
    •   
    •                 XmlNodeList nodeList = xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点   
    •   
    •   
    •                 foreach (XmlNode xn in nodeList)     //遍历所有子节点   
    •                 {  
    •                     XmlElement xe = (XmlElement)xn;  //将子节点类型转换为XmlElement类型   
    •                     strNodeList.Add(xe.GetAttribute("id").ToString(), xe.InnerText.Trim());  
    •                 }  
    •   
    •   
    •             }  
    •             catch (Exception)  
    •             {  
    •   
    •   
    •                 throw;  
    •             }  
    •             return strNodeList;  
    •         }  
    •   
    •   
    •         /// <summary>  
    •         /// 获取指定节点的值  
    •         /// </summary>  
    •         /// <param name="strFileName">文件路径</param>  
    •         /// <param name="nodeName">节点名称</param>  
    •         /// <param name="value">设置后的值</param>  
    •         /// <param name="nodeDir">指定节点所在的节点目录</param>  
    •         /// <returns></returns>  
    •         public static string GetNodeValue(string strFileName, string nodeName, string nodeDir)  
    •         {  
    •             string value = null;  
    •             try  
    •             {  
    •                 XmlDocument xmlDoc = new XmlDocument();  
    •                 xmlDoc.Load(strFileName);  
    •   
    •   
    •                 XmlNodeList nodeList = xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点   
    •   
    •   
    •                 foreach (XmlNode xn in nodeList)    //遍历所有子节点   
    •                 {  
    •                     XmlElement xe = (XmlElement)xn;  //将子节点类型转换为XmlElement类型   
    •   
    •   
    •                     if (xe.Name == nodeName)  
    •                     {  
    •                         value = xe.InnerText.Trim();  
    •   
    •   
    •                         break;  
    •                     }  
    •                 }  
    •             }  
    •             catch (Exception exp)  
    •             {  
    •                 throw exp;  
    •             }  
    •   
    •   
    •             return value;  
    •         }  
    •   
    •   
    •         /// <summary>  
    •         /// 获取指定节点下面对应属性的值  
    •         /// </summary>  
    •         /// <param name="strFileName">文件路径</param>  
    •         /// <param name="nodeName">节点名称</param>  
    •         /// <param name="nodeDir">指定节点所在的节点目录</param>  
    •         /// <param name="attribute">节点对应的属性名称</param>  
    •         /// <returns></returns>  
    •         public static string GetNodeValue(string strFileName, string nodeName, string nodeDir, string attribute)  
    •         {  
    •             string value = null;  
    •             try  
    •             {  
    •                 XmlDocument xmlDoc = new XmlDocument();  
    •                 xmlDoc.Load(strFileName);  
    •   
    •   
    •                 XmlNodeList nodeList = xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点   
    •   
    •   
    •                 foreach (XmlNode xn in nodeList)    //遍历所有子节点   
    •                 {  
    •                     XmlElement xe = (XmlElement)xn;  //将子节点类型转换为XmlElement类型   
    •   
    •   
    •                     if (xe.Name == nodeName)  
    •                     {  
    •                         //value = xe.InnerText.Trim();  
    •                         value = (xe).Attributes[attribute].Value;  
    •                         break;  
    •                     }  
    •                 }  
    •             }  
    •             catch (Exception exp)  
    •             {  
    •                 throw exp;  
    •             }  
    •   
    •   
    •             return value;  
    •         }  
    •   
    •   
    •         /// <summary>  
    •         /// 修改指定结点值  
    •         /// </summary>  
    •         /// <param name="strFileName">文件路径</param>  
    •         /// <param name="nodeName">节点名称</param>  
    •         /// <param name="value">设置后的值</param>  
    •         /// <param name="nodeDir">指定节点所在的节点目录</param>  
    •         /// <returns></returns>  
    •         public static bool UpdateNoteValue(string strFileName, string nodeName, string value, string nodeDir)  
    •         {  
    •             bool isSucceed = false;  
    •             try  
    •             {  
    •                 XmlDocument xmlDoc = new XmlDocument();  
    •                 xmlDoc.Load(strFileName);  
    •   
    •   
    •                 XmlNodeList nodeList = xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点   
    •   
    •   
    •                 foreach (XmlNode xn in nodeList)    //遍历所有子节点   
    •                 {  
    •                     XmlElement xe = (XmlElement)xn;  //将子节点类型转换为XmlElement类型   
    •   
    •   
    •                     if (xe.Name == nodeName)  
    •                     {  
    •                         xe.InnerText = value;  
    •   
    •   
    •                         isSucceed = true;  
    •                         break;  
    •                     }  
    •                 }  
    •   
    •   
    •                 xmlDoc.Save(strFileName);  
    •             }  
    •             catch (Exception exp)  
    •             {  
    •                 throw exp;  
    •             }  
    •   
    •   
    •             return isSucceed;  
    •         }  
    •   
    •   
    •         /// <summary>  
    •         /// 修改指定结点值  
    •         /// </summary>  
    •         /// <param name="strFileName">文件路径</param>  
    •         /// <param name="nodeName">节点名称</param>  
    •         /// <param name="value">设置后的值</param>  
    •         /// <param name="nodeDir">指定节点所在的节点目录</param>  
    •         /// <returns></returns>  
    •         public static bool UpdateNoteValue(string strFileName, string nodeName, string value, string nodeDir, string attribute, string attributeValue)  
    •         {  
    •             bool isSucceed = false;  
    •             try  
    •             {  
    •                 XmlDocument xmlDoc = new XmlDocument();  
    •                 xmlDoc.Load(strFileName);  
    •   
    •   
    •                 XmlNodeList nodeList = xmlDoc.SelectSingleNode(nodeDir).ChildNodes;//获取bookstore节点的所有子节点   
    •   
    •   
    •                 foreach (XmlNode xn in nodeList)    //遍历所有子节点   
    •                 {  
    •                     XmlElement xe = (XmlElement)xn;  //将子节点类型转换为XmlElement类型   
    •   
    •   
    •                     if (xe.Name == nodeName)  
    •                     {  
    •                         xe.InnerText = value;  
    •                         (xe).Attributes[attribute].Value = attributeValue;  
    •                         isSucceed = true;  
    •                         break;  
    •                     }  
    •                 }  
    •   
    •   
    •                 xmlDoc.Save(strFileName);  
    •             }  
    •             catch (Exception exp)  
    •             {  
    •                 throw exp;  
    •             }  
    •   
    •   
    •             return isSucceed;  
    •         }  
        
        


    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
    C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
    Python可以使用xmltodict库来操作XML文件。该库提供了将XML文件解析为Python字典对象的功能,以及将Python字典对象转换为XML文件的功能。你可以使用xmltodict库中的parse()函数将XML字符串解析为Python字典对象,然后使用json库中的dumps()函数将Python字典对象转换为JSON字符串。同样地,你也可以使用xmltodict库中的unparse()函数将Python字典对象转换为XML字符串。下面是一个示例代码: ```python import xmltodict import json def json_to_xml(python_dict): """将JSON转换为XML""" xml_str = xmltodict.unparse(python_dict) return xml_str def xml_to_json(xml_str): """将XML转换为JSON""" xml_parse = xmltodict.parse(xml_str) json_str = json.dumps(xml_parse, indent=1) return json_str # 读取JSON文件并转换为XML文件 JSON_PATH = './test.json' with open(JSON_PATH, 'r') as f: json_file = f.read() python_dict = json.loads(json_file) with open(JSON_PATH\[:-4\] + 'xml', 'w') as newfile: newfile.write(json_to_xml(python_dict)) # 读取XML文件并转换为JSON文件 XML_PATH = './1.xml' with open(XML_PATH, 'r') as f: xml_file = f.read() with open(XML_PATH\[:-3\] + 'json', 'w') as newfile: newfile.write(xml_to_json(xml_file)) ``` 以上代码演示了如何将JSON文件转换为XML文件和将XML文件转换为JSON文件。你可以根据自己的需求进行相应的操作。希望对你有帮助!\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [一起来分析Python怎么操作XML文件](https://blog.csdn.net/wboy_/article/details/124663368)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值