<?xml version="1.0" encoding="UTF-8"?>
<gallery>
   
   <photo>
      <filename>./img/www.jpg</filename>
      <phototitle>www - 图片1</phototitle>
   </photo>   <photo>
      <filename>./img/img02.jpg</filename>
      <phototitle>www.sharejs.com - 图片2</phototitle>
   </photo>   <photo>
      <filename>./img/img03.jpg</filename>
      <phototitle>www.sharejs.com - 图片3</phototitle>
   </photo>   <photo>
      <filename>./img/img04.jpg</filename>
      <phototitle>www.sharejs.com - 图片4</phototitle>
   </photo>   <photo>
      <filename>./img/img05.jpg</filename>
      <phototitle>www.sharejs.com - 图片5</phototitle>
   </photo>   <photo>
      <filename>./img/img06.jpg</filename>
      <phototitle>www.sharejs.com - 图片6</phototitle>
   </photo></gallery>
如上,,,将库中读出来的记录写入XML文件中,,,,图片,及网址是在库中的不同字段,,,,请问怎么写啊?

解决方案 »

  1.   

    创建xml声明节点,根节点
    循环遍历读取的记录条数,创建节点添加到根节点中。
    最后保存。
    xml操作
      

  2.   

                DataTable dt = new DataTable();
                dt.Columns.Add("filename");
                dt.Columns.Add("phototitle");
                dt.Rows.Add(new object[] { "./img/img04.jpg", "www.sharejs.com - 图片4" });
                dt.Rows.Add(new object[] { "./img/img05.jpg", "www.sharejs.com - 图片5" });
                XmlDocument xml = new XmlDocument();
                XmlDeclaration declar = xml.CreateXmlDeclaration("1.0", "utf-8", null);
                xml.AppendChild(declar);
                XmlNode root = xml.CreateElement("root");
                xml.AppendChild(root);
                foreach (DataRow r in dt.Rows)
                {
                    XmlNode photo = xml.CreateElement("photo");
                    XmlNode filename = xml.CreateElement("filename");
                    filename.InnerText = r["filename"].ToString();
                    XmlNode phototitle = xml.CreateElement("phototitle");
                    phototitle.InnerText = r["phototitle"].ToString();
                    photo.AppendChild(filename);
                    photo.AppendChild(phototitle);
                    root.AppendChild(photo);
                }
                xml.Save(@"E:\1.xml");
      

  3.   

    dt.Rows.Add(new object[] { "./img/img04.jpg", "www.sharejs.com - 图片4" });
                dt.Rows.Add(new object[] { "./img/img05.jpg", "www.sharejs.com - 图片5" });
    这有什么用啊?
      

  4.   


    假设表中只有两个字段,,a,,b,,有多条记录,,,应该怎么写进来啊?请老兄,直接将功赎罪a和b写进来,我回头换成我的字段名就可以了,,,我初学,不会,请帮忙啊
      

  5.   

    http://www.51testing.com/?uid-61753-action-viewspace-itemid-84197
    你可以先看看查询数据库得到结果集。
    剩下的就是循环遍历那个结果集了。
      

  6.   

    我知道用dataset查询得到记录啊,但不知道具体如何写到xml中,象你上面的dt.Rows.Add(new object[] { "./img/img04.jpg", "www.sharejs.com - 图片4" });
                dt.Rows.Add(new object[] { "./img/img05.jpg", "www.sharejs.com - 图片5" });
    这个地方,,,到底如何放结果集....
      

  7.   

    是不是写个循环语句,将所有符合的记录添加进下面这dt.rows中?
    dt.Rows.Add(new object[] { "./img/img04.jpg", "www.sharejs.com - 图片4" });
      

  8.   


    DataTable dt = new DataTable();
                dt.Columns.Add("filename");
                dt.Columns.Add("phototitle");
                dt.Rows.Add(new object[] { "./img/img04.jpg", "www.sharejs.com - 图片4" });
                dt.Rows.Add(new object[] { "./img/img05.jpg", "www.sharejs.com - 图片5" });这部分不要。换成你的DataTable.
    其他的一样。                filename.InnerText = r["filename"].ToString();
    ===========》
    改成                filename.InnerText = r["你数据库中的字段"].ToString();                phototitle.InnerText = r["phototitle"].ToString();
    ===========》
    改成                phototitle.InnerText = r["你数据库中的字段"].ToString();
      

  9.   

    不用循环添加到dt.rows中。因为这只是我的测试数据。
    而你从数据库中获取的数据集已经存到你自己的datatable中了。