zoukankan      html  css  js  c++  java
  • 【源码】操作xml Form1

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml;
    using Zone;
    using System.Runtime.InteropServices;


    namespace 操作xml
    {
    public partial class Form1 : Form
    {
    private int ListItemIndex = -1;
    [DllImport("user32")]
    private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

    public Form1()
    {
    InitializeComponent();
    this.listView1.GridLines = true; //显示表格线
    this.listView1.View = View.Details;//显示表格细节
    this.listView1.LabelEdit = true; //是否可编辑,ListView只可编辑第一列。
    this.listView1.Scrollable = true;//有滚动条
    this.listView1.HeaderStyle = ColumnHeaderStyle.Clickable;//对表头进行设置
    this.listView1.FullRowSelect = true;//是否可以选择行


    //this.listView1.HotTracking = true;// 当选择此属性时则HoverSelection自动为true和Activation属性为oneClick
    //this.listView1.HoverSelection = true;
    //this.listView1.Activation = ItemActivation.Standard; //
    //添加表头
    this.listView1.Columns.Add("别名",120);
    this.listView1.Columns.Add("路径",450);

    XmlFasta.CreateXml();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    string s1 = textBox1.Text;
    string s2 = textBox2.Text;

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("data.xml");

    XmlNode root = xmlDoc.SelectSingleNode("Element");

    XmlElement xe1 = xmlDoc.CreateElement("alias");
    xe1.SetAttribute("alias", s1);
    xe1.SetAttribute("cmd", s2);

    root.AppendChild(xe1);
    xmlDoc.Save("data.xml");

    }

    private void Form1_Load(object sender, EventArgs e)
    {
    Loadxml();
    //GetXml();
    LoadListView();
    }


    //**************************修改*****************************
    private void button2_Click(object sender, EventArgs e)
    {
    ListViewItem p = new ListViewItem();
    p = listView1.Items[ListItemIndex];

    string ss1 = p.SubItems[0].Text;
    string ss2 = p.SubItems[1].Text;



    string s1 = textBox1.Text.Trim();
    string s2 = textBox2.Text.Trim();


    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("data.xml");

    XmlNodeList nodeList = xmlDoc.SelectSingleNode("Element").ChildNodes;

    foreach (XmlNode xn in nodeList)
    {
    XmlElement xe = (XmlElement)xn;
    if (xe.GetAttribute("alias") == ss1 && xe.GetAttribute("cmd") == ss2)
    {
    xe.SetAttribute("alias", s1);
    xe.SetAttribute("cmd", s2);
    break;
    }
    }
    textBox1.Text = "";
    textBox2.Text = "";

    xmlDoc.Save("data.xml");
    LoadListView(ListItemIndex);
    //SendMessage(listView1.Handle, 500, 200, 200);
    }

    void Loadxml()
    {
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("data.xml");


    XmlNode xn = xmlDoc.SelectSingleNode("Element");

    XmlNodeList xnl = xn.ChildNodes;

    foreach (XmlNode xnf in xnl)
    {
    XmlElement xe = (XmlElement)xnf;
    //Console.WriteLine(xe.GetAttribute("alias"));//显示属性值
    //Console.WriteLine(xe.GetAttribute("cmd"));

    XmlNodeList xnf1 = xe.ChildNodes;
    foreach (XmlNode xn2 in xnf1)
    {
    //Console.WriteLine(xn2.InnerText);//显示子节点点文本
    }
    }
    }
    void LoadListView()
    {
    LoadListView(0);
    }
    void LoadListView(int i)
    {
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("data.xml");


    XmlNode xn = xmlDoc.SelectSingleNode("Element");

    XmlNodeList xnl = xn.ChildNodes;

    ListViewItem p = new ListViewItem();
    listView1.Items.Clear();
    foreach (XmlNode xnf in xnl)
    {
    XmlElement xe = (XmlElement)xnf;
    p = new ListViewItem(new string[] { xe.GetAttribute("alias"), xe.GetAttribute("cmd") });
    this.listView1.Items.Add(p);
    }
    try
    {
    listView1.Items[i].Selected = true;
    listView1.Items[i].EnsureVisible();
    }
    catch
    {
    i = i - 1;
    listView1.Items[i].Selected = true;
    listView1.Items[i].EnsureVisible();
    }
    }


    private void toolStripMenuItem1_Click(object sender, EventArgs e)
    {
    ListViewItem p = new ListViewItem();
    p = listView1.Items[ListItemIndex];
    textBox1.Text = p.SubItems[0].Text;
    textBox2.Text = p.SubItems[1].Text;

    }






    //***************删除********************************************
    private void toolStripMenuItem2_Click(object sender, EventArgs e)
    {
    ListViewItem p = new ListViewItem();
    p = listView1.Items[ListItemIndex];

    string s1 = p.SubItems[0].Text;
    string s2 = p.SubItems[1].Text;


    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("data.xml");

    XmlNodeList xnl = xmlDoc.SelectSingleNode("Element").ChildNodes;

    foreach (XmlNode xn in xnl)
    {
    XmlElement xe = (XmlElement)xn;
    if (xe.GetAttribute("alias") == s1 && xe.GetAttribute("cmd") ==s2)
    {
    xe.ParentNode.RemoveChild(xe);
    break;
    }
    }
    xmlDoc.Save("data.xml");
    LoadListView(ListItemIndex);
    //SendMessage(listView1.Handle, 500, 200, 200);
    }

    private void listView1_Click(object sender, EventArgs e)
    {
    for (int i = 0; i < listView1.Items.Count; i++)
    {
    if (listView1.Items[i].Selected)
    {
    ListItemIndex = i;
    }
    }
    }
    }
    }
  • 相关阅读:
    Windows Azure Storage (17) Azure Storage读取访问地域冗余(Read Access – Geo Redundant Storage, RA-GRS)
    SQL Azure (15) SQL Azure 新的规格
    Azure China (5) 管理Azure China Powershell
    Azure China (4) 管理Azure China Storage Account
    Azure China (3) 使用Visual Studio 2013证书发布Cloud Service至Azure China
    Azure China (2) Azure China管理界面初探
    Azure China (1) Azure公有云落地中国
    SQL Azure (14) 将云端SQL Azure中的数据库备份到本地SQL Server
    [New Portal]Windows Azure Virtual Machine (23) 使用Storage Space,提高Virtual Machine磁盘的IOPS
    Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())的注意点
  • 原文地址:https://www.cnblogs.com/chusiping/p/2251154.html
Copyright © 2011-2022 走看看