0
在我的web應用程序中,我使用由xml文件(nhibernate.cfg.xml)配置的NHibernate。我需要從我的C#代碼中的該文件讀取連接字符串。我的代碼正在工作,但我不喜歡它(特別是foreach!),我想直接查詢xml文件。我試圖用鏈接查詢它,但我總是得到空節點。 這裏是CFG文件:從C#讀取NHibernate配置文件
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">
NHibernate.Connection.DriverConnectionProvider
</property>
<property name="connection.driver_class">
NHibernate.Driver.SqlClientDriver
</property>
<property name="connection.connection_string">
Server=LEG\SQL12;initial catalog=DVR;user id=daniele;pwd=s;
</property>
<property name="dialect">
NHibernate.Dialect.MsSql2008Dialect
</property>
</session-factory>
</hibernate-configuration>
這裏是我的C#代碼:
public static String GetConnectionString()
{
if (String.IsNullOrEmpty(_connectionString))
{
XElement root = XElement.Load("hibernate.cfg.xml");
var sessionFactoryNode = root.Elements().FirstOrDefault(); // session-factory
if (sessionFactoryNode != null)
{
var properties = sessionFactoryNode.Elements();
foreach (var property in properties)
{
if (property.Attribute("name").Value == "connection.connection_string")
_connectionString = property.Value.Trim();
}
}
}
return _connectionString;
}
我怎樣才能獲得相同的結果查詢的XML?
我試過這個,但root.Descendants(「屬性」)給我「枚舉沒有結果」。 –
@DanieleArmanasco然後嘗試XDocument.Load而不是 –
我試過XDocument,但得到了相同的結果... –