在asp.net中生成运行时xml

时间:2010-07-16 05:51:53

标签: asp.net

我已经通过asp.net代码生成了一个xml文件

 public bool createxml()
    {
        DataSet ds = new DataSet();
        clsRegister obj = new clsRegister();
        int i = 0;
        string strpath = string.Empty;
        XmlTextWriter objwriter = new XmlTextWriter(Console.Out);
        ds = obj.searchgallery(4);
        try
        {
            strpath = "d:\\hellojhasi\\glance\\jhansigallery\\gallery.xml";
            objwriter = new XmlTextWriter(strpath, System.Text.Encoding.Default);
            if (ds.Tables[0].Rows.Count > 0)
            {

                for (i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                   objwriter.WriteStartElement("picturegallery");
                    objwriter.WriteElementString("fullimage", ds.Tables[0].Rows[i]["fullimage"].ToString());
                    objwriter.WriteElementString("thumbnail", ds.Tables[0].Rows[i]["thumbnail"].ToString());
                    objwriter.WriteElementString("title", ds.Tables[0].Rows[i]["title"].ToString());
                    objwriter.WriteElementString("description", ds.Tables[0].Rows[i]["description"].ToString());
                    objwriter.WriteElementString("height", ds.Tables[0].Rows[i]["height"].ToString());
                    objwriter.WriteElementString("width", ds.Tables[0].Rows[i]["width"].ToString());
                    objwriter.WriteEndElement();
                }
            }
            else
            {

                objwriter.WriteEndElement();
            }
            objwriter.Flush();

        }
        catch (Exception e)
        {
        }
        return true;
    }

代码执行得很好。 但打开时的xml文件会出现以下错误

无法显示XML页面 无法使用XSL样式表查看XML输入。请更正错误,然后单击“刷新”按钮,或稍后重试。


XML文档中只允许一个顶级元素。处理资源'file:/// D:/ HelloJhasi / glance / jhansigal ...

时出错

任何人都可以帮助我这个

1 个答案:

答案 0 :(得分:0)

DataSet有一个内置函数,保存到xml文件,你可以这样做

    string  strpath = "d:\\hellojhasi\\glance\\jhansigallery\\gallery.xml";
    DataSet ds = new DataSet();
    clsRegister obj = new clsRegister();
    int i = 0;
    string strpath = string.Empty;
    XmlTextWriter objwriter = new XmlTextWriter(Console.Out);
    ds = obj.searchgallery(4);
    ds.WriteXml(strpath);

您收到该错误,因为XML文档中只允许一个顶级元素,例如

<root>
   ...
</root>
<root>
   ...
</root>

无效的XML

<root>
   <root>
      ...
   </root>
   ...
</root>

有效