<?xml version="1.0" encoding="gb2312" ?>
<Topic>
<database>
<aa.mdb>
<table>报告表</table>
<table>储量表</table>
<table>矿山表</table>
</aa.mdb>
<bb.mdb>
<table>矿山表</table>
<table>压覆表</table>
<table>地热表</table>
</bb.mdb>
.....
.....
</database>
</Topic>如上,是我自己建的一个XML,分别对应数据库里面相应的表,比如,aa.mdb库里有<报告表><储量表><矿山表>,是这样的结构现在我想读取每个数据库和表,该怎么做啊,我写的程序,不太对,不是把数据库名全取出来就是把表名全取出来了,该怎么改呢,麻烦各位帮看下~~~XmlTextReader reader = new XmlTextReader( Server.MapPath("db.xml") ); ArrayList NodeValues = new ArrayList(); while( reader.Read() )
{ if( reader.NodeType == XmlNodeType.Element && reader.Name == "aa.mdb" )
{
reader.Read();
string dbname = reader.Value ; //读取数据库名称 if( reader.NodeType == XmlNodeType.Element && reader.Name == "table" )
{
reader.Read(); NodeValues.Add( reader.Value ); //读取表名
}
}
<Topic>
<database>
<aa.mdb>
<table>报告表</table>
<table>储量表</table>
<table>矿山表</table>
</aa.mdb>
<bb.mdb>
<table>矿山表</table>
<table>压覆表</table>
<table>地热表</table>
</bb.mdb>
.....
.....
</database>
</Topic>如上,是我自己建的一个XML,分别对应数据库里面相应的表,比如,aa.mdb库里有<报告表><储量表><矿山表>,是这样的结构现在我想读取每个数据库和表,该怎么做啊,我写的程序,不太对,不是把数据库名全取出来就是把表名全取出来了,该怎么改呢,麻烦各位帮看下~~~XmlTextReader reader = new XmlTextReader( Server.MapPath("db.xml") ); ArrayList NodeValues = new ArrayList(); while( reader.Read() )
{ if( reader.NodeType == XmlNodeType.Element && reader.Name == "aa.mdb" )
{
reader.Read();
string dbname = reader.Value ; //读取数据库名称 if( reader.NodeType == XmlNodeType.Element && reader.Name == "table" )
{
reader.Read(); NodeValues.Add( reader.Value ); //读取表名
}
}
http://www.cnblogs.com/ocean2000/archive/2006/07/20/455514.html
http://www.cnblogs.com/ocean2000/archive/2006/07/25/459226.html
http://www.cnblogs.com/ocean2000/archive/2006/08/08/471029.html你可以查看下这上面的文章,应该简单的增删查改没什么问题的
使用XPATH解析整个文档。
.............................................再能具体点不?
XmlDocument mXml = new XmlDocument();
mXml.Load(this._FilePath);
XmlNode xnode = mXml.SelectSingleNode("//aa.mdb");
foreach (XmlNode xno in xnode.ChildNodes)
{
svla1 += xno.InnerText + ",";
}
上面的XML定义的是access数据库和表,我想要再加个一个oracle数据库,表名和字段分别和它对应上,
比如: access数据库和表 oracle 数据库和表
<aa.mdb> <aaaaa.dmp>
<table>报告表</table> <table>报告表</table>
<table>储量表</table> <table>储量表</table>
<table>矿山表</table> <table>矿山表1</table>
</aa.mdb> <table>矿山表2</table>
<table>压覆表</table>
<table>地热表</table>
<bb.mdb> </aaaaa.dmp>
<table>矿山表</table>
<table>压覆表</table>
<table>地热表</table>
</bb.mdb>这个该怎么写XML啊? 谢谢大家了~~~~~
XmlDocument mXml = new XmlDocument();
mXml.Load(文件名);
XmlNode xnode = mXml.Nodes;
然后遍历这些xnode第二种方法使用xsd生成一个类文件,xsd可以在 \\Microsoft Visual Studio 8\SDK\v2.0\Bin下找到,然后可以使用xml的反序列化来作,这样出来的结果会是对象。
个人比较喜欢第二种方法,不过性能比第一种稍差
没明白,能写第一种就能写第二种。我的blog上只有一篇以前写xml留下的资料,可以参考一下
XmlDocument mXml = new XmlDocument();
mXml.Load(this._FilePath);
XmlNode xnode = mXml.SelectSingleNode("//");
foreach (XmlNode xno in xnode.ChildNodes)
{
foreach(XmlNode xnoChild in xno.ChildNodes){
// xnoClild.InnerText
}
}