zoukankan      html  css  js  c++  java
  • xml文件读写

    创建xml文件,对xml文件进行添加新节点、删除节点、更新节点。创建的如下的xml文件。

    <?xml version="1.0" encoding="UTF-8"?>
    
    -<FileItems>
    
    
    -<FileInfo fileid="12jdkfjdkfkdfjkdfj">
    
    <FileName>test.txt</FileName>
    
    <last_seen>2014-06-09 10:30</last_seen>
    
    <pushFileStaus>完成</pushFileStaus>
    
    <ActionType>上传</ActionType>
    
    <logFilePath>C: est.txt</logFilePath>
    
    <SavedSize>1200</SavedSize>
    
    <localFilePath>C: est.txt</localFilePath>
    
    <HostIP>172.19.8.121</HostIP>
    
    <Port>999</Port>
    
    </FileInfo>

    对xml文件进行查找,可以使用using System.Xml.Linq;命名空间中的XElement(XName)类,使用myXElement.Elements().Where(node => node.Attribute("fileid").Value == "12jdkfjdkfkdfjkdfj");其中myXElement是XElement的实例对象、fileid是xml节点属性名,“12jdkfjdkfkdfjkdfj”是属性的值。

    /// <summary>
            /// MainWindow.xaml 的交互逻辑
            /// </summary>
            public partial class MainWindow : Window
            {
                    public MainWindow()
                    {
                            InitializeComponent();
                    }
                    string FullPath = string.Format(@"{0}{1}{2}", Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "FilePulla",  "history.xml");
                    /// <summary>
                    /// 创建xml文件
                    /// </summary>
                    /// <param name="sender"></param>
                    /// <param name="e"></param>
                    private void button1_Click(object sender, RoutedEventArgs e)
                    { 
                           FileInfo xmlFile= new FileInfo(FullPath);
                           XmlTextWriter xmlWriter = new XmlTextWriter(xmlFile.FullName, Encoding.UTF8);
                           xmlWriter.WriteStartDocument();
                           xmlWriter.WriteStartElement("FileItems");
    
                           xmlWriter.WriteStartElement("FileInfo");
                           xmlWriter.WriteAttributeString("fileid", "12jdkfjdkfkdfjkdfj");
                           xmlWriter.WriteElementString("FileName", "test.txt");
                           xmlWriter.WriteElementString("last_seen", "2014-06-09 10:30");
                           xmlWriter.WriteElementString("pushFileStaus", "完成");
                           xmlWriter.WriteElementString("ActionType", "上传");
                           xmlWriter.WriteElementString("logFilePath", "C:	est.txt");
                           xmlWriter.WriteElementString("SavedSize", "1200");
                           xmlWriter.WriteElementString("localFilePath", "C:	est.txt");
                           xmlWriter.WriteElementString("HostIP", "172.19.8.121");
                           xmlWriter.WriteElementString("Port", "999");
                           xmlWriter.WriteEndElement();
    
                            ////////////////////////////////////////////////////////////////////
                           xmlWriter.WriteStartElement("FileInfo");
                           xmlWriter.WriteAttributeString("fileid", "12jdkfjdkfkdfjkdfj");
                           xmlWriter.WriteElementString("FileName", "test.txt");
                           xmlWriter.WriteElementString("last_seen", "2014-06-09 10:30");
                           xmlWriter.WriteElementString("pushFileStaus", "完成");
                           xmlWriter.WriteElementString("ActionType", "上传");
                           xmlWriter.WriteElementString("logFilePath", "C:	est.txt");
                           xmlWriter.WriteElementString("SavedSize", "1200");
                           xmlWriter.WriteElementString("localFilePath", "C:	est.txt");
                           xmlWriter.WriteElementString("HostIP", "172.19.8.121");
                           xmlWriter.WriteElementString("Port", "999");
                           xmlWriter.WriteEndElement();
    
                           xmlWriter.WriteFullEndElement();
                           xmlWriter.WriteEndDocument();
                           xmlWriter.Close();
    
                    }
                    /// <summary>
                    /// 在已存在的文件上,添加新节点
                    /// </summary>
                    /// <param name="sender"></param>
                    /// <param name="e"></param>
                    private void button2_Click(object sender, RoutedEventArgs e)
                    {
                            if (File.Exists(FullPath))
                            {
                                    XmlDocument xmlDoc = new XmlDocument();
                                    xmlDoc.Load(FullPath);
                                    XmlNode root = xmlDoc.SelectSingleNode("FileItems");
                                    //查找<bookstore>
                                    XmlElement element = xmlDoc.CreateElement("FileInfo");
                                    element.SetAttribute("fileid", "12jdkfjdkfkdfjkdfjere");
    
                                    XmlElement xesub1 = xmlDoc.CreateElement("FileName");
                                    xesub1.InnerText = "test.txt";
                                    element.AppendChild(xesub1);
                                    //设置文本节点
                                    XmlElement xesub10 = xmlDoc.CreateElement("last_seen");
                                    xesub10.InnerText = "2014-06-09 11:35";
                                    element.AppendChild(xesub10);
    
                                    XmlElement xesub2 = xmlDoc.CreateElement("pushFileStaus");
                                    xesub2.InnerText = "test.txt";
                                    element.AppendChild(xesub2);
                                    XmlElement xesub3 = xmlDoc.CreateElement("ActionType");
                                    xesub3.InnerText = "test.txt";
                                    element.AppendChild(xesub3);
                                    XmlElement xesub4 = xmlDoc.CreateElement("logFilePath");
                                    xesub4.InnerText = "test.txt";
                                    element.AppendChild(xesub4);
                                    XmlElement xesub5 = xmlDoc.CreateElement("SavedSize");
                                    xesub5.InnerText = "test.txt";
                                    element.AppendChild(xesub5);
                                    XmlElement xesub6 = xmlDoc.CreateElement("localFilePath");
                                    xesub6.InnerText = "test.txt";
                                    element.AppendChild(xesub6);
                                    XmlElement xesub7 = xmlDoc.CreateElement("HostIP");
                                    xesub7.InnerText = "test.txt";
                                    element.AppendChild(xesub7);
                                    XmlElement xesub8 = xmlDoc.CreateElement("HostIP");
                                    xesub8.InnerText = "test.txt";
                                    element.AppendChild(xesub8);
                                    XmlElement xesub9 = xmlDoc.CreateElement("Port");
                                    xesub9.InnerText = "test.txt";
                                    element.AppendChild(xesub9);
                                    root.AppendChild(element);
                                    xmlDoc.Save(FullPath);
                            }
                          
                    }
                   /// <summary>
                   /// 删除节点
                   /// </summary>
                   /// <param name="sender"></param>
                   /// <param name="e"></param>
                    private void button3_Click(object sender, RoutedEventArgs e)
                    {
                            XElement xmlDoc = XElement.Load(FullPath);
                            XElement selectedElement = xmlDoc.Elements().Where(xl => xl.Attribute("fileid").Value == "12jdkfjdkfkdfjkdfjere").FirstOrDefault();
                            if (selectedElement == null) return;
                            selectedElement.Remove();
                            xmlDoc.Save(FullPath);
                    }
                    /// <summary>
                    /// 修改节点的值
                    /// </summary>
                    /// <param name="sender"></param>
                    /// <param name="e"></param>
                    private void button5_Click(object sender, RoutedEventArgs e)
                    {
                            XElement xmlDoc = XElement.Load(FullPath);
                            XElement selectedElement = xmlDoc.Elements().Where(xl => xl.Attribute("fileid").Value == "12jdkfjdkfkdfjkdfjere").FirstOrDefault();
                            if (selectedElement == null) return;
                            selectedElement.Elements("pushFileStaus").FirstOrDefault().SetValue("完成");
                            xmlDoc.Save(FullPath);
                    }
            }
  • 相关阅读:
    通完古墓丽影9
    第一次咖喱牛肉饭
    游戏模块分析总结(1)之文化内涵篇
    《海岛奇兵》战斗系统分析
    通过坑、蒙、拐、骗、偷这5点,教你如何做好市场
    UNITY3D MAC版本破解
    使用cocos2d-x 3.2下载图片资源小例子
    REST四种请求(get,delete,put,post) 收集整理 之一
    Android SDK无法更新解决方法
    (mac)Android Studio安装以及Fetching android sdk component information超时的解决方案
  • 原文地址:https://www.cnblogs.com/goxmpx/p/3777874.html
Copyright © 2011-2022 走看看