zoukankan      html  css  js  c++  java
  • C#操作xmL文件

    xml文件:

    <?xml version="1.0" encoding="utf-8"?>
    <AutoPrintProject>
      <Project>
        <ProjectName>SPA Reminder</ProjectName>
        <Status>Disable</Status>
        <LastPrintTime>2011-4-3 11:00:00</LastPrintTime>
        <Daily>1</Daily>
        <StartTime>2011/4/10 14:04:49</StartTime>
        <Printer>Microsoft XPS Document Writer</Printer>
        <SavePath>E:\IFCA\R2.8\PropertyNet\Bin</SavePath>
        <AllField>CompanyNo,ProjectName,Projectno,PhaseName,BlockName ,unitno
        </AllField>
        <letterid>51</letterid>
        <Operation>Equal,Greater,Not Equal,Like,Less</Operation>
        <WhereField>
          <Where>
            <WhereField>BlockName</WhereField>
            <WhereOperator>like</WhereOperator>
            <WhereValue>%陶%</WhereValue>
          </Where>
          <Where>
            <WhereField>unitno</WhereField>
            <WhereOperator>Equal</WhereOperator>
            <WhereValue>0010</WhereValue>
          </Where>
          <Where>
            <WhereField>CompanyNo</WhereField>
            <WhereOperator>Equal</WhereOperator>
            <WhereValue>10141</WhereValue>
          </Where>
          <Where>
            <WhereField>PhaseName</WhereField>
            <WhereOperator>Equal</WhereOperator>
            <WhereValue>422</WhereValue>
          </Where>
        </WhereField>
      </Project>
    </AutoPrintProject>
     //读xml到table中
     public DataTable ReadXlm()
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load("AutoPrintProject.xml");
                XmlNode xn = xmldoc.SelectSingleNode("AutoPrintProject");
                XmlNodeList list = xn.ChildNodes;
                DataTable ta = new DataTable();
                ta.Columns.Add("JobName", typeof(string));
                ta.Columns.Add("Status", typeof(string));
                ta.Columns.Add("LastExecuteTime", typeof(string));
                foreach (XmlNode node in list)
                {
                    XmlElement element = (XmlElement)node;
                    DataRow row = ta.NewRow();
                    row["JobName"] = element["ProjectName"].InnerText.ToString().Trim();
                    row["Status"] = element["Status"].InnerText.ToString().Trim();
                    row["LastExecuteTime"] = element["LastPrintTime"].InnerText.ToString().Trim();
                    ta.Rows.Add(row);
                }
                return ta;
            }
    //修改xml某个节点的值
     private void Start_Click(object sender, EventArgs e)
            {
                 try
                 {
                     string modifyvalue = dataGridView1.CurrentRow.Cells["JobName"].Value.ToString().Trim();
                     if (modifyvalue == "")
                     {
                         MessageBox.Show("请选择项目!");
                         return;
                     }
                     XmlDocument xmldoc = new XmlDocument();
                     xmldoc.Load("AutoPrintProject.xml");
                     XmlElement xn = (XmlElement)xmldoc.SelectSingleNode("AutoPrintProject/Project[ProjectName='" + modifyvalue + "']");
                     if (xn.GetElementsByTagName("Status").Item(0).InnerText != "Start")
                     {
                         xn.GetElementsByTagName("Status").Item(0).InnerText = "Start";
                         xmldoc.Save("AutoPrintProject.xml");
                         MessageBox.Show("工作启动成功!");
                     }
                     else
                     {
                         MessageBox.Show("该工作已经启动!");
                     }
                     refresh();
                 }
                 catch (Exception ex)
                 {
                     MessageBox.Show("启动失败,原因:" + ex.Message.Trim());
                 }
            }
    //添加一个节点
     private void save_Click(object sender, EventArgs e)
            {
                try
                {
                    if (ProjectName == "")
                    {
                        MessageBox.Show("请选择项目!");
                        return;
                    }
                    string selectedfield=drop_field.SelectedValue.ToString().Trim();
                    XmlDocument xmldoc = new XmlDocument();
                    xmldoc.Load("AutoPrintProject.xml");
                    XmlNode xn = xmldoc.SelectSingleNode("AutoPrintProject/Project[ProjectName='" + ProjectName + "']");
                    if ((xn!=null)&&(!CheckField(selectedfield)))
                    {
                        XmlNode xmlnode=(XmlNode)xn.SelectSingleNode("WhereField");

                        XmlElement xe1=xmldoc.CreateElement("Where");//创建一个节点

                
                        XmlNode subfieldwhere = xmldoc.CreateElement("WhereField");
                        subfieldwhere.InnerText = selectedfield;
                        xe1.AppendChild(subfieldwhere);

     

                        string selectedoperator = drop_operator.SelectedValue.ToString().Trim();
                        XmlNode suboperatorwhere = xmldoc.CreateElement("WhereOperator");
                        suboperatorwhere.InnerText = selectedoperator;
                        xe1.AppendChild(suboperatorwhere);

                        string selectedvalue = tb_value.Text.Trim();
                        XmlNode subvaluewhere = xmldoc.CreateElement("WhereValue");
                        subvaluewhere.InnerText = selectedvalue;
                        xe1.AppendChild(subvaluewhere);
                        xmlnode.AppendChild(xe1);

                        xmldoc.Save("AutoPrintProject.xml");
                        MessageBox.Show("增加字段成功!");

                        this.Close();
                        parent.Refresh();
                        //Criteria criteria = new Criteria();
                        //criteria.ProjectName = ProjectName;
                        //criteria.refresh();
                    }
                    else
                    {
                        MessageBox.Show("该字段已经存在!");
                    }

                   
                }
                catch (Exception ex)
                {
                    MessageBox.Show("增加字段失败,原因:" + ex.Message.Trim());
                }
            }
    //删除一个节点
      private void DeleteField_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
            {
                MessageBoxButtons messButton = MessageBoxButtons.OKCancel;

                DialogResult dr = MessageBox.Show("确定删除吗?", "删除", messButton);


                try
                {
                    if (dr == DialogResult.OK)//如果点击
                    {
                        if (ProjectName == "")
                        {
                            MessageBox.Show("请选择项目!");
                            return;
                        }
                        string selectedfield = dataGridView1.CurrentRow.Cells["Field"].Value.ToString().Trim();
                        XmlDocument xmldoc = new XmlDocument();
                        xmldoc.Load("AutoPrintProject.xml");
                        XmlNode xn = xmldoc.SelectSingleNode("AutoPrintProject/Project[ProjectName='" + ProjectName + "']");
                        if (xn != null)
                        {
                            XmlNode xmlnode = (XmlNode)xn.SelectSingleNode("WhereField");

                            XmlNodeList nodelist = xmlnode.ChildNodes;
                            foreach (XmlNode one in nodelist)
                            {
                                XmlElement element = (XmlElement)one;
                                if (element.GetElementsByTagName("WhereField").Item(0).InnerText.Trim() == selectedfield)
                                {
                                    xmlnode.RemoveChild(one);
                                }
                            }


                            xmldoc.Save("AutoPrintProject.xml");
                            MessageBox.Show("删除字段成功!");

                            refresh();
                        }
                        else
                        {
                            MessageBox.Show("删除字段失败!");
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("删除字段失败,原因:" + ex.Message.Trim());
                }

            }

  • 相关阅读:
    ssh.sh_for_ubuntu1604
    ssh.sh_for_ubuntu1404
    ssh.sh_for_ubuntu1204
    ssh.sh_for_centos
    raw,cow,qcow,qcow2镜像的比较
    Oz 创建Windows2008R2镜像
    Oz 创建Ubuntu镜像
    Oz 创建Debian8镜像
    Oz 创建CentOS7镜像
    Oz 创建CentOS6镜像
  • 原文地址:https://www.cnblogs.com/ldqwyl/p/2015121.html
Copyright © 2011-2022 走看看