извлечение данных RDL с использованием LINQ - PullRequest
0 голосов
/ 10 сентября 2009

Я работаю с некоторыми файлами определений отчетов SQL (RDL), используя LINQ для извлечения операторов запросов компонентов для проверки. Я пытаюсь извлечь элементы из-под элемента . Кажется, я зависаю с одним из элементов в , который имеет квалификатор пространства имен

Я использовал 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 Ответ

1 голос
/ 12 сентября 2009

Вы используете C # или VB.NET? В VB вы можете импортировать пространства имен xml с помощью операторов Imports так же, как вы ссылаетесь на другие пространства имен .NET.

Если вы используете C #, то LINQ to XML - это единственное место, где вы должны рассмотреть возможность добавления проекта VB в свое решение C #.

В любом случае, у Бет Масси есть замечательный Как сделать серию видео о LINQ to XML в VB.NET # 8 рассказывает об импорте пространств имен XML.

...