急,非常急,在线等,将listView保存到XML文档中,希望能在12点结贴

o1o 2006-04-20 11:50:30
有个listView,需要将它(有subItem)完整保存到XML文档中,没时间查帮助了,希望做过的帮忙。
完成立刻结贴
...全文
259 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujiwe79 2006-06-01
  • 打赏
  • 举报
回复
XmlDocument doc = new XmlDocument();
XmlDeclaration Declaration = doc.CreateXmlDeclaration("1.0","GB2312","");
doc.AppendChild(Declaration);
XmlElement xe = doc.CreateElement("Infos");
doc.AppendChild(xe);
for(int i = 0;i < listview.Items.Count;i++)
{
XmlNode parent = doc.CreateElement("Info" + i.ToString());
ListViewItem temp = listview.Items[i];
for(int j = 0;j < temp.SubItems.Count;j++)
{
string s = temp.SubItems[j].Text;
XmlNode node = doc.CreateElement(s);
node.InnerText = s;
parent.AppendChild(node);
}
doc.AppendChild(parent);
}
doc.Save(FilePath);

这样应该可以的,楼主试试呀
Matthewzhong 2006-04-20
  • 打赏
  • 举报
回复
递归
duguguiyu1984 2006-04-20
  • 打赏
  • 举报
回复
写个循环就好了吧。。查查MSDN吧。。
不要总希望别人帮你写好源码吧。。。
o1o 2006-04-20
  • 打赏
  • 举报
回复
饿了,还是先去抢碗饭吃吧。
zhangbug_net 2006-04-20
  • 打赏
  • 举报
回复
我在baidu上搜了下 就找到一篇相关的
o1o 2006-04-20
  • 打赏
  • 举报
回复
以后不要问问题,只要看看帮助就好了,呵呵。
zhangbug_net 2006-04-20
  • 打赏
  • 举报
回复
把所填写的内容保存到xml文件中去,同时listview显示相同文件中相关记录。但是第一次保存正确,后面就出现系统错误提示:该文件正被另一线程使用。如何解决这样的冲突问题?
Try
savedoc.Load(strXMLReader) '加载XML文档
Catch ex As Exception
MsgBox(ex.Message)
End Try
Try
Dim root As XmlNode = savedoc.DocumentElement ' to get the root node of the XML document
xmlInsert(savedoc, root)
savedoc.Save(strXMLReader)
Catch ex As Exception
MsgBox(ex.Message)
End Try
Read_XML(strXMLReader, lvwPkqsd, i) 'lvwpkqsd为Listview名,显示XML文件内容在listview上
zhangbug_net 2006-04-20
  • 打赏
  • 举报
回复
lz不要着急 静下心来看看帮助可能就解决了
zhangbug_net 2006-04-20
  • 打赏
  • 举报
回复
Mark!

listView我没用过,如果yh95(元亨95)的方法可行,给你提供一个DataSet和XML文件互操作的例子

//读取XML文件到DataSet
DataSet ds = new DataSet();
MyXmlPath = "C:\\Message.xml";
FileStream fs = new FileStream(MyXmlPath, FileMode.Open);
ds.ReadXml(fs, XmlReadMode.ReadSchema);
fs.Close();
//筛选行存入DataSet
DataRow[] FoundRows;
string Expression = "AREA IN ('" + Area + "','')";
string SortOrder = "DAY DESC";
FoundRows = ds.Tables[0].Select(Expression, SortOrder);
DataTable Mydt = new DataTable();
Mydt.Columns.Add("FKEY");
Mydt.Columns.Add("IIIII");
Mydt.Columns.Add("NAME");
Mydt.Columns.Add("AREA");
Mydt.Columns.Add("X");
Mydt.Columns.Add("Y");
Mydt.Columns.Add("BKIND");
Mydt.Columns.Add("SKIND");
Mydt.Columns.Add("DAY");
Mydt.Columns.Add("ETIME");
Mydt.Columns.Add("TYPE");
Mydt.Columns.Add("MAIN");
Mydt.Columns.Add("TTIME");
foreach (DataRow dr in FoundRows)
{
Mydt.Rows.Add(dr.ItemArray);
}
DataSet Myds = new DataSet();
Myds.Tables.Add(Mydt);
//保存到XML文件
Myds.WriteXml(MyXmlPath, XmlWriteMode.WriteSchema);
o1o 2006-04-20
  • 打赏
  • 举报
回复
大家别再写些理论上的东西上来了。
方法谁都懂,现在是急着要答案了。
朝圆夜不圆 2006-04-20
  • 打赏
  • 举报
回复
先吧listview重的数据方到datatable中,在吧
datatable放到dataset
用dataset.writexml("路径+文件名")
可以吗?
stlwj 2006-04-20
  • 打赏
  • 举报
回复
for(int i=0;i<this.listView3.Items.Count;i++)
{
//写到xml文件的节点\
}
stlwj 2006-04-20
  • 打赏
  • 举报
回复
循环写到xml
lovefootball 2006-04-20
  • 打赏
  • 举报
回复
保存一个什么格式的xmldocument????

XmlDocument doc = new XmlDocument();
XmlDeclaration Declaration = doc.CreateXmlDeclaration("1.0","GB2312","");
doc.AppendChild(Declaration);
XmlElement xe = doc.CreateElement("Infos");
doc.AppendChild(xe);
for(int i = 0;i < listview.Items.Count;i++)
{
XmlNode parent = doc.CreateElement("Info" + i.ToString());
ListViewItem temp = listview.Items[i];
for(int j = 0;j < temp.SubItems.Count;j++)
{
string s = temp.SubItems[j].Text;
XmlNode node = doc.CreateElement(s);
node.InnerText = s;
parent.AppendChild(node);
}
doc.AppendChild(parent);
}
doc.Save(FilePath);

大致就是这样了
o1o 2006-04-20
  • 打赏
  • 举报
回复
o1o摇了摇头,准备下班了。

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧