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);
展开
 我来答
清水栞
2013-07-10 · TA获得超过1547个赞
知道小有建树答主
回答量:1538
采纳率:50%
帮助的人:989万
展开全部
首先把@放外面

其次,你断点看看conNode是不是null值,如果是null就是你的xpath写的不对
更多追问追答
追问
改过了,是null,不过xpath是什么啊
追答
configuration/connectionStrings/add[name='SQLString']

这个就是XPATH
wyzelhao
2013-07-09 · 超过24用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:44.7万
展开全部
报错的原因是因为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);
追问
改过后还是那一块报错
追答

可以负责地说,这一段代码是我实际运行成功的(vs2010,wpf项目,下载附件打开完整的解决方案)。你可以尝试把xpath中的一段一段调试。

XmlNode conNode = xmlDoc.SelectSingleNode("/configuration);

XmlNode conNode = xmlDoc.SelectSingleNode("/configuration/connectionStrings);

看看哪一段可以得到非空的,然后再检查一下XMLFile1.xml中的内容,比如大小写,注意调试时的xml一定在debug目录下。你也可以把你的xml文件放到我的debug目录下看看,或者把我的xml文件放到你的debug目录下。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyangbdwk
2013-07-09 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4411万
展开全部
如果光是app.config或者web.config你就没有必要那样解析了,你的目的是要得到连接字符串还是要学习怎样查xml呢?
追问
是学习xml
追答
那你应该弄一个标准的xml文件来学习,你上面贴的我试过了,用浏览器打开都会报错的,不是严格的xml格式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式