Генерировать исполняемый файл xml в asp.net

0 malashukla [2010-07-16 08:51:00]

У меня genarated xml файл через код asp.net как

 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 не может быть отображена Невозможно просмотреть XML-вход, используя таблицу стилей XSL. Исправьте ошибку, затем нажмите кнопку "Обновить" или повторите попытку позже.


В документе XML допускается только один элемент верхнего уровня. Файл обработки ошибок:///D:/HelloJhasi/glance/jhansigal...

может кто-нибудь мне помочь с этим

asp.net


1 ответ


0 Arsen Mkrtchyan [2010-07-16 08:57:00]

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>

Действителен