使用CS和ASP保存为XML

时间:2018-11-29 10:11:46

标签: c# asp.net xml

我正在Visual Studio中编写一个ASP网站,无法锻炼如何识别XML树中的元素。

<layerone>
    <layertwo>
        <layerthree>
          <fullName>XXXX</fullName>
        </layerthree>
        <layerthree>
          <fullName>YYYY</fullName>
        </layerthree>
        <layerthree>
          <fullName>ZZZZ</fullName>
        </layerthree>
    </layertwo>
</layerone>

我需要做的就是将一些基本数据从ASP表单保存到XML,我正在使用C#,并且如果我删除layerone可以将其写入XML,但是我不能锻炼我需要做的加进去,当我有3层时可以写出来。

我的C#部分如下所示。

protected void btnSave_Click(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(fullName.Text))
    {
        var path = Server.MapPath(xmlpath);

        XDocument doc = XDocument.Load(path);
        XElement root = new XElement("layerthree");
        root.Add(new XElement("fullName", post_id.Text));
        doc.Element("layertwo").Add(root);
        doc.Save(path);
        fillGrid();
        clear();
    }
}

如果需要,我可以发布更多代码,非常感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

public static void Main()
{
var path = @"<layerone>
<layertwo>
<layerthree>
  <fullName>XXXX</fullName>
</layerthree>
<layerthree>
  <fullName>YYYY</fullName>
</layerthree>
<layerthree>
  <fullName>ZZZZ</fullName>
</layerthree>
</layertwo>
</layerone>";

XDocument doc = XDocument.Parse(path);
XElement root = new XElement("layerthree");
root.Add(new XElement("fullName", "Test User"));
doc.Element("layerone").Element("layertwo").Add(root);
doc.Save(Console.Out);
}