Я работаю с некоторыми файлами определения отчетов SQL (RDL), используя LINQ для извлечения операторов запроса компонента для проверки. Я пытаюсь извлечь элементы <DataSet> из-под элемента <DataSets>. Я, кажется, получать зацикливаться с одним из элементов под <DataSet> < Поля > < поля >, который имеет пространство имен Классификатор <-е: TypeName >извлечение данных RDL с использованием LINQ
Я использую LINQ к XML для других частей файлов где нет спецификаторов пространства имен без каких-либо проблем, указав пространство имен по умолчанию. RDL определяет два пространства:
xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
Когда я пытаюсь получить <DataSets> элемент, однако, я получаю следующее сообщение об ошибке:
System.Xml.XmlException - «: ', шестнадцатеричное значение 0x3A, не может быть включено в имя.
Я знаю, что это связано с квалификатором пространства имен (rd :) в одном из дочерних элементов, но мне трудно получить выражение LINQ, которое работает. Любая помощь будет оценена по достоинству. Благодаря!
Спасибо за ответ Деннис. Я видел, что некоторые синтаксические сахара VB имеют для LINQ/XML, и это выглядит хорошо. Я использую C# в основном. Я смог проработать это. Я подозревал, что это связано с пространствами имен, и оказалось, что я не правильно их квалифицировал. Для этого потребовалось немного проб и ошибок. Еще раз спасибо! – BobC