Я пытаюсь изменить connectionString в RDL-файле, который состоит из узлов xml динамически. но я могу только восстановить корневой каталог с помощью /
. Я не могу найти другие узлы, например, когда я пытаюсь получить connectString, оно появляется как null.Как динамически изменять строку подключения в файле RDl?
XmlDocument xml = new XmlDocument();
xml.Load(selectedFiles[0].ToString());
var connectionString = xml.SelectSingleNode("/");
XML-файла RDL:
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DataSource1">
<ConnectionProperties>
<DataProvider>SQL</DataProvider>
<ConnectString>Data Source=gbr-t-sql-001;Initial Catalog=Neptune2Dev</ConnectString>
<IntegratedSecurity>true</IntegratedSecurity>
</ConnectionProperties>
<rd:SecurityType>Integrated</rd:SecurityType>
<rd:DataSourceID>70fcaa8f-d76a-4919-a53c-ba313ca99926</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="DataSet1">
<Query>
<DataSourceName>DataSource1</DataSourceName>
<QueryParameters>
<QueryParameter Name="@profileID">
<Value>=Parameters!profileID.Value</Value>
</QueryParameter>
</QueryParameters>
<CommandType>StoredProcedure</CommandType>
<CommandText>Report_BylineSummary</CommandText>
Он придумывает утративший уага ConnectionString = xml.SelectSingleNode ("/ отчет/DataSources [@name = \" DataSource1 \ "]/ConnectionProperties/ConnectString"); – Xerxes
Как я уже сказал, вы должны корректно обрабатывать пространства имен для этого. http://support.microsoft.com/kb/316913 – Oscar