0

LINQ を使用して検証用のコンポーネント クエリ ステートメントを抽出し、いくつかの SQL レポート定義ファイル (RDL) を操作しています。<Da​​taSets> 要素の下から <DataSet> 要素を抽出しようとしています。名前空間修飾子 <rd:TypeName> を持つ <DataSet><Fields><Field> の下の要素の 1 つにハングアップしているようです

デフォルトの名前空間を指定することにより、問題なく名前空間修飾子がないファイルの他の部分に LINQ to XML を使用しています。RDL は 2 つの名前空間を指定します。

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


ただし、<DataSets> 要素を取得しようとすると、次のエラーが発生します。

System.Xml.XmlException - ':' 文字 (16 進値 0x3A) を名前に含めることはできません。

子要素の 1 つで名前空間修飾子 (rd:) に関係していることはわかっていますが、機能する LINQ 式を取得するのに苦労しています。どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

C# または VB.NET を使用していますか? VB では、他の .NET 名前空間を参照するのと同じ方法で、Imports ステートメントを使用して xml 名前空間をインポートできます。

C# を使用している場合、LINQ to XML は、VB プロジェクトを C# ソリューションに追加することを検討すべき唯一の場所です。

いずれにせよ、Beth Massi は VB.NET の LINQ to XML をカバーする素晴らしいHow Do I ビデオ シリーズを持っています #8 では、XML 名前空間のインポートについて説明しています。

于 2009-09-12T03:25:23.903 に答える