一个简单的xml问题,在线等待,马上结贴!

chenyunfan 2006-11-13 03:22:10
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
</configSections>
<dataConfiguration defaultDatabase="NetVersion" />
<connectionStrings>
<add name="NetVersion" connectionString="Data Source=GJSERVER;Initial Catalog=XRSOFT;Persist Security Info=True;User ID=sa;Password=shoes;"
providerName="System.Data.SqlClient" />
<add name="SingleMachine" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\XRSOFT.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;"
providerName="System.Data.SqlClient" />
</connectionStrings>

如下面所述的配置文件,我如果查找name="NetVersion"的 connectionString值,能不能直接通过xpath查询到,而且不用循环结点?如果能怎样写?
...全文
182 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
mikebai 2006-11-13
  • 打赏
  • 举报
回复
MS给每个结提供解析类。。
在section段中写出来就可以了。。你说的那个是负责解析dataConfiguration 这个段的。。
针对这个配置文件我还作了个配置工具。。。你发现有你上面那个connectionStrings段在section书写了吗?没有吧//?〉??
是因为他被默认放置于machine中了。。。。。。倒塌。。。
mikebai 2006-11-13
  • 打赏
  • 举报
回复
我前个模块主要就是开发ado的。当然用过。汗。。。。
System.Configuration.ConnectionStringsSection
这个是你要的东西。明白???
chenyunfan 2006-11-13
  • 打赏
  • 举报
回复
楼上的用过企业库吗?
type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
应该是Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings这东西解析的
mikebai 2006-11-13
  • 打赏
  • 举报
回复
企业库自己解析??
========================

<section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" requirePermission="false" />

就这个东西解析的。汗。。。
能解释下不??
chenyunfan 2006-11-13
  • 打赏
  • 举报
回复
我用的是DAAB,连接字符串是由企业库自己解析的
mysterious 2006-11-13
  • 打赏
  • 举报
回复
晕倒,刷新下就这么多回复了,呵呵
更正下错误,我刚发的是asp2.0里面的读取方式,winform用mailebai的~
mysterious 2006-11-13
  • 打赏
  • 举报
回复
你是vs2005IDE吧.
ConnectionStringSettings setting = WebConfigurationManager.ConnectionStrings["NetVersion"];
string s = setting.ConnectionString;
mikebai 2006-11-13
  • 打赏
  • 举报
回复
不错。2.0我用着比1.1舒服不少。。前段时间看了3.0beta。汗。。。。改动N大。。。不过不错。。
mikebai 2006-11-13
  • 打赏
  • 举报
回复
connectionStrings有系统自带的解析类,所以在section 节中部用写
而是置于machine.config文件中。。。。。
chenyunfan 2006-11-13
  • 打赏
  • 举报
回复
呵呵,是的企业库2.0加sql2005 express
mikebai 2006-11-13
  • 打赏
  • 举报
回复
。。。。。。
这个理由好。。
晕。。发帖之比查的快?呵呵。。不过作出来就好。。。
LZ是2.0的吧??

还有解决了就速度结帖哦~~~~
chenyunfan 2006-11-13
  • 打赏
  • 举报
回复
时间紧,不由得我仔细查了,不过现在已ok
mikebai 2006-11-13
  • 打赏
  • 举报
回复
汗。。什么版本?
2.0的我至少发过2次阿。。郁闷。。。。大家应该先查下再请教哦~~~~至少我是这样。。。

<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />

LZ了解了XML的这个模式会很帮助你理解这个东东。。。上面这段是提供你下面dataConfiguration这个段的解析用的类。。


Configuration config;
config = ConfigurationManager.OpenExeConfiguration(strExeFilePath)
请查看MSDN2005
Configuration 类负责读取配置文件的。。
ConnSection = config.GetSection("connectionStrings") as ConnectionStringsSection;
可以指定选择的连接串段
ConnectionStringSettings ConnSettings=ConnSection.ConnectionStrings["ConnName"]
抽取选择的节
然后就可以了。。。
你自己查看下相应的关键字吧。。这个东西很是好用。。做项目经常使用。。
建议LZ看下配置文件的相应技术。。



lovefootball 2006-11-13
  • 打赏
  • 举报
回复
XmlDocument doc = new XmlDocument();
XmlNode node = doc.SelectSingleNode("configuration/connectionStrings/add[@name='NetVersion']");
chenyunfan 2006-11-13
  • 打赏
  • 举报
回复
XmlDocument document = new XmlDocument();
document.Load(fileName);
XPathNavigator navigator = this.document.CreateNavigator();
string currentDataBase = "NetVersion"
string xquery = @"/configuration/connectionStrings/add";
XmlNodeList xnl = document.SelectNodes(xquery);
if (xnl != null)
{
foreach (XmlNode xn in xnl)
{
if (xn.Attributes["name"].InnerText == currentDataBase)
{
查到后的处理
}
}
}
不知道还有其他的办法没有
真相重于对错 2006-11-13
  • 打赏
  • 举报
回复
可以
configuration/connectionStrings/add[@name=NetVersion]

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧