1

我有一个现有的 xml 代码,我想使用 c# 将其转换为一个类?我已经尝试过了,但我很困惑。希望你能帮我一把。谢谢

XmlDocument doc1 = new XmlDocument();

XmlElement root = doc1.CreateElement("SqlCommand");
doc1.AppendChild(root);

XmlElement tblElem = doc1.CreateElement("Table");
tblElem.SetAttribute("TableName", ddl2.SelectedItem.Text);
root.AppendChild(tblElem);

for (int i = 0; i < GridView1.Rows.Count; i++)
{
    XmlElement colElem = doc1.CreateElement("Columns");
    if (((CheckBox)GridView1.Rows[i].FindControl("chkCol")).Checked)
    {
        colElem.SetAttribute("ColumnName", GridView1.Rows[i].Cells[3].Text);
        tblElem.AppendChild(colElem);
    }
    if (((RadioButton)GridView1.Rows[i].FindControl("radkey")).Checked)
    {
        colElem.SetAttribute("PKey", ddl2.SelectedItem.Text + "." + GridView1.Rows[i].Cells[3].Text);
        tblElem.AppendChild(colElem);
    }
}
doc1.Save(Server.MapPath(@"XmlFile/") + "config.xml");
4

1 回答 1

1

一个类应该只有一个职责。您当前的代码将 xml 处理与更新 UI(GridView)混合在一起。

用它创建一个类本身并不构成真正意义上的 OOP 架构。

在考虑将代码重构为类之前,应该分离不同的层/职责。那会是什么课呢?

例如。(a)一个表示数据(出现在您的 xml 中并稍后显示在 GridView 中),(b)一个从即将到来的 xml 中提取该数据,以及(c)另一个用该数据填充 GridView。

只有这样才能使您的代码更加灵活、可测试和更清晰——这是面向对象方法的好处。仅仅为了这样做而创建一个类完全没有抓住重点。

于 2013-09-19T08:34:17.290 回答