国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > C# > 正文

C#加XML文件非流讀寫方法

2023-05-15 12:29:36
字體:
來源:轉載
供稿:網(wǎng)友

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 System.IO;
// 本程序將演練XML文擋的讀與寫
// 也就是XMLReader和XMLWriter
namespace test11
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            FlueList();
        }
        // 刷新顯示ListBox顯示的內容
        private void FlueList()
        {
            try
            {
                listBox1.Items.Clear();
                FileStream fs = new FileStream("myTestXML.xml", FileMode.Open);
                XmlReader tr = XmlReader.Create(fs);
                while (!tr.EOF)
                {
                    if (tr.MoveToContent() == XmlNodeType.Element && tr.Name == "Username")
                    {
                        listBox1.Items.Add(tr.ReadElementString());
                    }
                    tr.Read();
                }
                fs.Close();
                tr.Close();
            }
            catch
            {
                // 導入時遇到無法導入數(shù)據(jù),則文件出錯,將提示用戶刪除文件并建立新文件信息。
                MessageBox.Show("文擋不可用,無法導入!", "錯誤");
                if (MessageBox.Show("是否建立新的用戶文擋?/n此操作將刪除以前所有用戶數(shù)據(jù)", "程序提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    // 建立新文件,此用一個無參數(shù)函數(shù)重載。
                    CreateNewFile();
                }
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            string username = textBox1.Text;
            string password = textBox2.Text;
            // 需要檢查用戶名和密碼同時不能為空,并且不能和記錄相重復。
            if (username != "" && password != "" && checkReport(username, password))
            {
                try
                {
                    XmlDocument doc = new XmlDocument();
                    doc.Load("myTestXML.xml");
                    XmlElement User = doc.CreateElement("User");
                    User.SetAttribute("UserSettig", "Customer");
                    // 創(chuàng)建一個Username標簽
                    XmlElement newUsername = doc.CreateElement("Username");
                    newUsername.InnerText = username;
                    User.AppendChild(newUsername);
                    // 創(chuàng)建一個Password標簽
                    XmlElement newPassword = doc.CreateElement("Password");
                    newPassword.InnerText = password;
                    User.AppendChild(newPassword);
                    doc.DocumentElement.AppendChild(User);
                    // 將以上信息寫入到xml文件。
                    XmlTextWriter tr = new XmlTextWriter("myTestXML.xml", null);
                    tr.Formatting = Formatting.Indented;
                    doc.WriteContentTo(tr);
                    tr.Close();
                    MessageBox.Show("寫入成功!", "成功");
                    FlueList();
                    // 以上條件通過后,方可進行寫入操作。
                    // 此方法是將XML文擋重寫,記錄全無,因此舍棄此方法。
                    // 此方法在后面用于錯誤處理,建立新文件時。
                    /*
                    XmlWriterSettings settings = new XmlWriterSettings();
                    settings.Indent = true;
                    settings.NewLineOnAttributes = true;
                    XmlWriter thisWriter = XmlWriter.Create("myTestXML.xml", settings);
                    // 首行的聲明
                    thisWriter.WriteStartDocument();
                    // 開始輸入內容到文件中
                    thisWriter.WriteStartElement("User");
                    thisWriter.WriteAttributeString("UserSetting", "Customer");
                    thisWriter.WriteElementString("Username", username);
                    thisWriter.WriteElementString("Password", password);
                    thisWriter.WriteEndElement();
                    thisWriter.WriteEndDocument();
                    thisWriter.Flush();
                    thisWriter.Close();
                    MessageBox.Show("寫入成功!", "成功");
                    */
                }
                catch
                {
                    CreateNewFile(username, password);
                }
            }
            else
            {
                MessageBox.Show("請確定輸入是否正確或有重名和密碼重復", "請檢查");
            }
        }
        // 如果文件讀寫出錯,則刪除建立一個新文件。
        // 此函數(shù)有一個無參數(shù)的函數(shù)重載。
        // 好象這個有參數(shù)的函數(shù)也沒什么用處。唉……不知道當初怎么想的。
        private void CreateNewFile(string username, string password)
        {
            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Indent = true;
            settings.NewLineOnAttributes = true;
            XmlWriter thisWriter = XmlWriter.Create("myTestXML.xml", settings);
            // 首行的聲明
            thisWriter.WriteStartDocument();
            // 開始輸入內容到文件中
            thisWriter.WriteStartElement("UserList");
            thisWriter.WriteStartElement("User");
            thisWriter.WriteAttributeString("UserSetting", "Customer");
            thisWriter.WriteElementString("Username", username);
            thisWriter.WriteElementString("Password", password);
            thisWriter.WriteEndElement();
            thisWriter.WriteEndElement();
            thisWriter.WriteEndDocument();
            thisWriter.Flush();
            thisWriter.Close();
            MessageBox.Show("寫入成功!", "成功");
        }
        // 上面創(chuàng)建新文件的函數(shù)的無參數(shù)重載部分。
        private void CreateNewFile()
        {
            try
            {
                // 如果文件存在則刪除該文件,建立正確的新文件。
                if (File.Exists("myTestXML.xml"))
                {
                    File.Delete("myTestXML.xml");
                }
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.Indent = true;
                settings.NewLineOnAttributes = true;
                XmlWriter thisWriter = XmlWriter.Create("myTestXML.xml", settings);
                // 首行的聲明
                thisWriter.WriteStartDocument();
                // 開始輸入內容到文件中
                thisWriter.WriteStartElement("UserList");
                thisWriter.WriteEndElement();
                thisWriter.WriteEndDocument();
                thisWriter.Flush();
                thisWriter.Close();
            }
            catch
            {
                MessageBox.Show("建立新文擋失敗!/n請檢查文件 myTestXML.xml 是否只讀!", "程序錯誤");
            }
        }
        // 檢查是否有重復的用戶名和密碼,此函數(shù)返回一個Bool值
        private bool checkReport(string username, string password)
        {
            try
            {
                FileStream fs = new FileStream("myTestXML.xml", FileMode.Open);
                XmlReader tr = XmlReader.Create(fs);
                string thisusername = "", thispassword = "";
                while (!tr.EOF)
                {
                    if (tr.MoveToContent() == XmlNodeType.Element && tr.Name == "Username")
                    {
                        thisusername = tr.ReadElementString();
                    }
                    else if (tr.MoveToContent() == XmlNodeType.Element && tr.Name == "Password")
                    {
                        thispassword = tr.ReadElementString();
                    }
                    if (thisusername == username && thispassword == password)
                    {
                        tr.Close();
                        fs.Close();
                        return false;
                    }
                    tr.Read();
                }
                fs.Close();
                tr.Close();
                return true;
            }
            catch
            {
                // 錯誤處理,如果文擋不存在,或者文擋錯誤,將刪除文擋,并從新建立。
                MessageBox.Show("文擋不可用,無法查詢!", "錯誤");
                if (MessageBox.Show("是否建立新的用戶文擋?/n此操作將刪除以前所有用戶數(shù)據(jù)", "程序提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    // 調用無參數(shù)函數(shù)重載版本建立新文件。
                    CreateNewFile();
                }
                return true;
            }
        }
        // 檢查用戶名和密碼是否可用的函數(shù)。
        private void button2_Click(object sender, EventArgs e)
        {
            if (textBox1.Text != "" && textBox2.Text != "" && checkReport(textBox1.Text, textBox2.Text))
            {
                MessageBox.Show("此用戶名和密碼可以用", "通過");
            }
            else
            {
                MessageBox.Show("此用戶名和密碼不可用", "未通過");
            }
        }
        // 退出該程序。
        private void button3_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
    }
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
永久免费在线观看| 欧美一级久久久久久久久大| 青青草中文字幕| 精品欧美日韩一区二区| 国产福利三区| 99在线播放| xxxxx中文字幕| 日韩av成人| 综合图区亚洲白拍在线| 国产天堂素人系列在线视频| 国产黄色在线观看| eeuss影影院www在线播放| 狠狠干五月天| 91高清国产| 免费99热在线观看| 国产网站免费观看| 亚洲а∨精品天堂在线| 国产主播福利在线| 99精品老司机免费视频| 九九热在线观看视频| 国产无遮挡又黄又爽免费软件| 樱花草在线观看www| 中文字幕高清av| 亚洲欧美小说国产图片| 中文字幕一区二区三区免费视频| h网址在线观看| 国产黄色在线播放| 亚洲免费国产| а√最新版地址在线天堂| 青青在线视频| 精品视频麻豆入口| 国产精品一区二区三区四区色| 国产www在线观看| 免费a级毛片在线播放| 国产精品美女视频免费观看软件| 亚洲国产aⅴ精品| 国产激情在线| 国产人成在线观看| 日本久久网站| 99久久精品免费观看国产| 国产激情自拍视频| 国产人成网在线播放va免费| 国产理论电影在线观看| 超碰国产在线观看| 在线观看午夜av| 精品999视频| 18av在线播放| 永久免费网站在线| 在线免费看黄| 四虎精品视频| 免费看的毛片| 超碰在线免费播放| 黄色国产网站在线观看| 亚洲第一区视频| 天天激情综合| 老鸭窝av在线| 99热在线免费观看| 91sp网站在线观看入口| 国产一级片在线| 国产成人福利| www.毛片| 国产精品探花在线| 精品国产高清a毛片无毒不卡| 伊人影院在线播放| 国产在线视精品麻豆| 国产麻豆一区二区三区精品| 国产精品入口麻豆完整版| 精品视频三区| 日本国产在线| 国产九九九九| av二区三区| 超碰国产在线观看| 国产精品秘入口| 亚色视频在线观看| 国内精品免费一区二区三区| 国产精品合集一区二区| 欧美高清视频| 国产网站av| gogogo影视剧免费观看在线观看| 国产农村一级特黄α**毛片| 国产成人精品自线拍| 欧美黑人乱大交| 2020亚洲男人天堂| 免费av不卡在线观看| 国产黄大片在线观看画质优化| 亚洲国产精华液| 国产性网软件大全| 国产在线免费观看| baoyu777.永久免费视频| 中文字幕网站视频在线| www狠狠操| 在线观看电影av| 国产视频你懂的| 国产麻豆视频免费观看| 牛牛精品视频在线| 亚洲妇熟xxxx妇色黄| 国产激情在线视频| 国产精品久久精品牛牛影视| 久热中文字幕在线观看| 亚洲精品aaaa精品| 影音先锋在线中文字幕| 在线伊人免费视频| 精精国产xxxx视频在线中文版| 国产黄色免费网站| 精品一区二区三区免费站| 最新国产在线| 国产视频福利在线| 国产午夜在线| 国产成免费视频| 国产福利片在线| 2021天堂中文幕一二区在线观| 91在线最新| 在线观看av资源网| h视频在线网站| 免费午夜一级| 国产男女猛烈无遮挡免费视频| 国产精品一区二三区| 午夜免费福利在线观看| 国产精品xxx电影| 在线国产福利网站| 欧美性xxxx交| 国产小视频福利在线| 国产a国产a国产a| 四虎国产精品永久地址998| 久草在线视频网| 国产日产一区二区三区| 在线免费观看污| 久久精品视频观看| 国产人成精品| 亚洲sss视频| 天天操人人干| av在线日韩国产精品| 国产亚洲精品拍拍拍拍拍| 一本大道久久a久久精品| 丁香六月婷婷| 在线午夜视频| 国产网红在线观看| 欧美激情福利视频在线观看免费| 国产一卡二卡3卡4卡四卡在线| 四虎精品成人a在线观看| 国产秀色在线www免费观看| 亚洲成年人视频| 精品一二三区视频| 国产麻豆麻豆| 性色视频在线| 91精品专区| 国产激情网址| 丁香视频五月| 国内自拍视频在线观看| 四虎成人欧美精品在永久在线| 国产亚洲精品久久久久久青梅| 免费在线看v| 一区二区免费播放| 国产精品不卡一区二区三区在线观看| 青草av在线| 爱福利在线视频| av在线首页| www.成人.com| 99re在线视频播放| 国产视频中文字幕在线观看| 国产在线观看色| 欧美色欧美亚洲另类二区精品| 伊人永久在线| 一级黄色av| 四虎精品成人a在线观看| 伊人伊人av电影| 亚洲天堂久久久| 在线黄色av| 午夜影院免费| а√资源新版在线天堂| 四虎国产精品永久| 青青草中文字幕| 国产在线日本| 国产一级片在线| 国产三级视频在线看| 国产高清免费在线播放| 91麻豆精品国产91久久| 在线观看av的网站| xxxxx中文字幕| 国产精品一区牛牛影视| 中文字幕成人乱码在线电影| 国产精品18久久久久久久久久| 精品剧情v国产在线观看| 99久久99热久久精品免费看| av中文字幕在线看| 国产69精品久久久久孕妇国产69久久| 国产免费网址| 国产精美视频| xxxx视频在线| www久久日com| 国产亚av手机在线观看| av在线1区2区| 午夜av在线免费观看| 中文在线观看视频| 福利资源在线久| 亚洲综合在线不卡| 国产欧美日韩专区| 黄网站在线观看高清免费| 国产欧美久久久久久久久| 亚洲精品视频区|