cynthialxx 2013-09-17 01:24 采纳率: 0%
浏览 1672

winform C# 修改XML文件

在winform中form中的文本框中修改都取的XML文件,修改后,保存时判断修改后的XML是否符合XML基本的格式规范,最后一步的判断如何实现呢?

namespace ManageXMLFile

{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string path;
private void Form1_Load(object sender, EventArgs e)
{
path = Path.GetDirectoryName(this.GetType().Assembly.Location) + "\Config";
DirectoryInfo directories = Directory.CreateDirectory(path);
FileInfo[] files=directories.GetFiles();
lbFileNames.Items.AddRange(files);
if (files.Length > 0)
{
lbFileNames.SetSelected(0, true);
}
}
string selectedFile;
private void lbFileNames_SelectedIndexChanged(object sender, EventArgs e)
{
selectedFile = lbFileNames.SelectedItem + "";
txtXMLContext.Visible = false;
webBrowserXMLContext.Visible = true;
webBrowserXMLContext.Url = new Uri(path + "\" + selectedFile);
btnUpdate.Text = "修改";
}

    private void btnUpdate_Click(object sender, EventArgs e)
    {
        Button btn=(Button)sender;
        if (btn.Text == "修改")
        {
            btn.Text = "保存";
            txtXMLContext.Visible = true;
            webBrowserXMLContext.Visible = false;
            string selectedFileText = File.ReadAllText(path + "\\" + selectedFile);
            txtpath.Text = path + "\\" + selectedFile;
            txtXMLContext.Text = selectedFileText;
        }
        else
        {
            btn.Text = "修改";
           txtXMLContext.Visible = false;
            webBrowserXMLContext.Visible = true;
            string saveXMLContext = txtXMLContext.Text;
            File.WriteAllText(path + "\\" + selectedFile, saveXMLContext);
            webBrowserXMLContext.Url = new Uri(path + "\\" + selectedFile);
        }
    }


}

}

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-14 13:49
    关注

    该回答引用ChatGPT

    可以使用System.Xml.XmlDocument类来解析XML并验证其格式是否符合基本规范。具体实现可以将文本框中的XML内容加载到XmlDocument对象中,然后使用XmlDocument对象的LoadXml()方法加载XML并捕获XmlException异常,如果捕获到异常则说明XML格式不符合规范。例如:

    try
    {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(txtXMLContext.Text);
        // 如果没有抛出异常,则说明XML格式符合规范
        // 可以在此处继续保存XML文件
    }
    catch (XmlException ex)
    {
        // 捕获XmlException异常,说明XML格式不符合规范
        MessageBox.Show(ex.Message);
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员