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);
        }
    }


}

}

该回答引用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);
}