累死了,快来帮帮小M,读取XML问题~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<?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 ); //读取表名
}
}
------解决方案--------------------使用DOM解析
xmldoument
------解决方案--------------------使用XPATH解析整个文档。
------解决方案--------------------http://www.cnblogs.com/ocean2000/archive/2006/07/20/455504.html
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
你可以查看下这上面的文章,应该简单的增删查改没什么问题的
------解决方案--------------------xmldoument
------解决方案--------------------http://www.51aspx.com/S/xml.aspx
看看这上面的示例源码
------解决方案--------------------string svla1 = string.Empty;
XmlDocument mXml = new XmlDocument();
mXml.Load(this._FilePath);
XmlNode xnode = mXml.SelectSingleNode( "//aa.mdb ");
foreach (XmlNode xno in xnode.ChildNodes)
{