首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

跪求怎么动态修改hibernate.cfg.xml的文件

2012-04-19 
跪求如何动态修改hibernate.cfg.xml的文件最近开始尝试使用NHibernate,需要动态修改hibernate.cfg.xml文件

跪求如何动态修改hibernate.cfg.xml的文件
最近开始尝试使用NHibernate,需要动态修改hibernate.cfg.xml文件中的Data Source属性
hibernate.cfg.xml文件如下

XML code
<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >  <session-factory name="NHibernate.Test">    <property name="connection.driver_class">NHibernate.Driver.SQLite20Driver, NHibernate</property>    <property name="connection.connection_string">      Data Source=D:\Subject.db3;Version=3    </property>    <property name="dialect">NHibernate.Dialect.SQLiteDialect</property>    <property name="query.substitutions">true=1;false=0</property>    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>  </session-factory></hibernate-configuration>

我想把其中的Data Source=D:\Subject.db3修改为如Data Source=C:\Other.db3,请问如何写代码?
本人平时基本不用XML文件,所以,
C# code
string FileName = "hibernate.cfg.xml";            XmlDocument xmldoc = new XmlDocument();            xmldoc.Load(FileName);            XmlNodeList nodeList = xmldoc.SelectSingleNode("hibernate-configuration").ChildNodes;

后就不知道该怎么办了,急啊~~~请高手不吝赐教!!!

[解决办法]
XmlNodeList nl = nodeList.ChildNodes;
if(nl.nodename=="session-factory") //测试节点名字,具体的属性或方法忘了
{
XmlNodeList cnl=nl.ChildNodes;
foreach(XmlNode xn in cnl)
{
if(xn.nodename="property" && xn.GetAttribute("name")=="connection.connection_string") //这个是测试节点名字和节点的属性,具体的属性或方法忘了
{
xn.SetAttribute("name","nameValue");//设置节点属性值,具体的属性或方法忘了
}
…………
}

}


仅供参考

热点排行