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 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?