2009-09-10 27 views
0

我正在使用一些SQL報告定義文件(RDLs),使用LINQ提取用於驗證的組件查詢語句。我試圖從<DataSets>元素中提取<DataSet>元素。我似乎在<的DataSet > <場> <場>其中有一個命名空間預選賽< RD是越來越掛了的要素之一:類型名>使用LINQ提取RDL數據

我一直在使用LINQ to XML的文件的其它部分通過指定默認名稱空間,沒有任何名稱空間限定符沒有問題。該RDL指定了兩個命名空間:

xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"> 


當我試圖讓<數據集>元素,不過,我得到以下錯誤:

System.Xml.XmlException - 在「: '字符,十六進制值0x3A,不能包含在名稱中。

我知道它與子元素之一中的名稱空間限定符(rd :)有關,但我很難獲得可用的LINQ表達式。任何幫助,將不勝感激。謝謝!

回答

1

您使用的是C#還是VB.NET?在VB中,您可以像導入其他.NET命名空間一樣使用Imports語句導入xml命名空間。

如果您使用的是C#,那麼LINQ to XML是您應該考慮將一個VB項目添加到C#解決方案的地方。

無論哪種方式,Beth Massi都有一個很棒的How Do I Video Series covering LINQ to XML in VB.NET #8會談導入XML命名空間。

+0

感謝您的回答丹尼斯。我已經看到了VB對LINQ/XML的一些語法糖,它看起來不錯。我在主要使用C#。我能夠解決這個問題。我曾懷疑它與命名空間有關,結果證明我沒有正確地限定它們。儘管如此,它需要一些試驗和錯誤才能實現。再次感謝! – BobC