C#中怎么调用XML中的数据库代码
XMLFile1.xml<?xmlversion="1.0"encoding="utf-8"?><configuration><!--配置数据库连接--><connect...
XMLFile1.xml
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--配置数据库连接-->
<connectionStrings>
<add name="SQLString" connectionString="data source=.;Initial Catalog=qingjiaxt;user id=sa;password=123456;" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
DBHelp.cs
XmlDocument xmlDoc = new XmlDocument();
//调用xml配置文件
xmlDoc.Load("XMLFile1.xml");
XmlNode conNode = xmlDoc.SelectSingleNode("/configuration/connectionStrings/add[name='@SQLString']");
string str = conNode.Attributes["SQLString"].ToString();-----------一到这步就报错
con = new SqlConnection(str); 展开
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--配置数据库连接-->
<connectionStrings>
<add name="SQLString" connectionString="data source=.;Initial Catalog=qingjiaxt;user id=sa;password=123456;" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
DBHelp.cs
XmlDocument xmlDoc = new XmlDocument();
//调用xml配置文件
xmlDoc.Load("XMLFile1.xml");
XmlNode conNode = xmlDoc.SelectSingleNode("/configuration/connectionStrings/add[name='@SQLString']");
string str = conNode.Attributes["SQLString"].ToString();-----------一到这步就报错
con = new SqlConnection(str); 展开
3个回答
展开全部
报错的原因是因为conNode没有结果,其值为空。调整一下查询path,然后取属性connectionString的值。可以运行的代码如下:
XmlDocument xmlDoc = new XmlDocument();
//调用xml配置文件
xmlDoc.Load("XMLFile1.xml");
XmlNode conNode = xmlDoc.SelectSingleNode("/configuration/connectionStrings/add[@name='SQLString']"); //@符号的位置在属性名前
string str = conNode.Attributes["connectionString"].InnerText ;//-----------一到这步就报错
con = new SqlConnection(str);
XmlDocument xmlDoc = new XmlDocument();
//调用xml配置文件
xmlDoc.Load("XMLFile1.xml");
XmlNode conNode = xmlDoc.SelectSingleNode("/configuration/connectionStrings/add[@name='SQLString']"); //@符号的位置在属性名前
string str = conNode.Attributes["connectionString"].InnerText ;//-----------一到这步就报错
con = new SqlConnection(str);
追问
改过后还是那一块报错
追答
可以负责地说,这一段代码是我实际运行成功的(vs2010,wpf项目,下载附件打开完整的解决方案)。你可以尝试把xpath中的一段一段调试。
如
XmlNode conNode = xmlDoc.SelectSingleNode("/configuration);
XmlNode conNode = xmlDoc.SelectSingleNode("/configuration/connectionStrings);
看看哪一段可以得到非空的,然后再检查一下XMLFile1.xml中的内容,比如大小写,注意调试时的xml一定在debug目录下。你也可以把你的xml文件放到我的debug目录下看看,或者把我的xml文件放到你的debug目录下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果光是app.config或者web.config你就没有必要那样解析了,你的目的是要得到连接字符串还是要学习怎样查xml呢?
追问
是学习xml
追答
那你应该弄一个标准的xml文件来学习,你上面贴的我试过了,用浏览器打开都会报错的,不是严格的xml格式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询