关于操作xml的问题。 我给你说个思路把。就先用DataSet 对象read xml文件。下来就是简单的表操作了。贼简单。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不太懂。初次接触xml望多加指点。 1、在xml文件第一行上写一句:<?xml version="1.0"?>2、第二行和最后一行加一句:第二行:<myXml> 最后一行: </myXml>3、在winform的Form1_Load里:DataSet ds = new DataSet();ds.ReadXml("c:\\a.xml"); //假设这个xml文件存在c盘根目录下,注意要写 //二个反斜杠DataView dv = new DataView(ds.Tables["Category"]);dv.RowFilter = "Categoryid = 001001"; //取出Categoryid为001001的comboBox1.DataSource = dv;comboBox1.DisplayMember = "Text"; DataSet ds = new DataSet();ds.ReadXml("c:\\x.xml");foreach(DataRow dr in ds.Tables[0]){ ......}简单吗?其实就这么简单 补充:如果要取出001,002的所有项dv.RowFilter = "Categoryid = 001 or Categoryid = 002";...comboBox1.ValueMember = "Categoryid";假设界面上有个button,点击后用MessageBox显示所有满足条件的IDprivate button1_Click(...){string strIDs = "满足条件的ID:";for(int i = 0; i < comboBox1.Items.Count; i++) strIDs += ((DataRowView)comboBox1.Items[i])["Categoryid"];MessageBox.Show(strIDs);} 用XPath查询不就行了,什么语言都不依赖 first : you lack the root element!second: add the root element to your file;third : use the xmldocument to load the filestreamthen you can do what you want to do in this dom good luck 现在要求找出所有Categoryid长度为三位的,可能有许多许多。分不够可以再加,我另开一个帖子放分。 assume your xml is like this<Categories><Category>.....</Category><Category>.....</Category>.....</Categories>tryusing System.Xml;string sFileName = "Cat.xml";XmlDocument xmldoc = new XmlDocument();xmldoc.Load(sFileName);XmlNodeList xnl = xmldoc.DocumentElement.SelectNodes("Category[string-length(Categoryid)=3]");for (int i=0; i < xnl.Count; i++){ xnl[i]["Categoryid"].InnerText += "11111111"; xnl[i]["Description"].InnerText += "hello world"; xnl[i]["Text"].InnerText += "23";} Right函数.net怎么写啊 请问,保存方案,怎么做 小弟急,在线等。c# 如何将datagridview的数据插入到数据库 datagrid 更新问题 不能装xp系统呀! 本人新建一个.net的交流群.进来看看吧 新人 求助大神 为什么程序运行到return ExecuteNonQuery ()老是自动跳出 如何编写自动填写网页表单的应用程序 进程无法访问文件,因为该文件正由另一进程使用,的问题应该如何解决 ..我想学习.....哪位高手有三层或者多层的实例.............. 在RichTextBox中实现查找与替换
<?xml version="1.0"?>
2、第二行和最后一行加一句:
第二行:<myXml>
最后一行: </myXml>
3、在winform的Form1_Load里:
DataSet ds = new DataSet();
ds.ReadXml("c:\\a.xml"); //假设这个xml文件存在c盘根目录下,注意要写
//二个反斜杠
DataView dv = new DataView(ds.Tables["Category"]);
dv.RowFilter = "Categoryid = 001001"; //取出Categoryid为001001的
comboBox1.DataSource = dv;
comboBox1.DisplayMember = "Text";
ds.ReadXml("c:\\x.xml");
foreach(DataRow dr in ds.Tables[0])
{
......
}简单吗?其实就这么简单
如果要取出001,002的所有项
dv.RowFilter = "Categoryid = 001 or Categoryid = 002";
...
comboBox1.ValueMember = "Categoryid";假设界面上有个button,点击后用MessageBox显示所有满足条件的ID
private button1_Click(...)
{
string strIDs = "满足条件的ID:";
for(int i = 0; i < comboBox1.Items.Count; i++)
strIDs += ((DataRowView)comboBox1.Items[i])["Categoryid"];
MessageBox.Show(strIDs);
}
you lack the root element!
second:
add the root element to your file;
third :
use the xmldocument to load the filestream
then you can do what you want to do in this dom
good luck
分不够可以再加,我另开一个帖子放分。
<Category>.....</Category>
<Category>.....</Category>
.....
</Categories>tryusing System.Xml;string sFileName = "Cat.xml";
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(sFileName);
XmlNodeList xnl = xmldoc.DocumentElement.SelectNodes("Category[string-length(Categoryid)=3]");for (int i=0; i < xnl.Count; i++)
{
xnl[i]["Categoryid"].InnerText += "11111111";
xnl[i]["Description"].InnerText += "hello world";
xnl[i]["Text"].InnerText += "23";
}