Я разрабатываю веб-службу WCF REST в C# (.net Framework 3.5, используя Visual Studio 2010), которая вытягивает строки из базы данных MSSQL. Один из столбцов, который вытаскивается, - это тип «nvarchar (max)» и всегда содержит текстовую строку в формате XAML, которая является корневым узлом, является элементом <section>
и содержит внутри него элементы абзаца/запуска. Я хочу извлечь внутренний текст из элемента <run>
. Я пытаюсь использовать класс XamlReader в пространстве имен System.Windows.markup для этого.C# .net XamlReader.Parse метод недоступен/отсутствует?
Согласно документации msdn этого класса, он должен иметь метод анализа. http://msdn.microsoft.com/en-us/library/vstudio/cc663064(v=vs.90).aspx, но мой нет. Intelli-sense только дает мне следующие методы: CancelAsync, Equals, GetHashCode, GetType, LoadAsync, LoadCompleted и ToString.
Это функция, которую я пытаюсь создать (неполный, но вы получите идею)
private string extractRunElementFromXaml(string inputXaml)
{
XamlReader xr = new XamlReader();
Object out = xr.Parse(inputXaml); //doesnt work, no Parse method
}
Любая помощь очень высоко ценится. Благодаря
Вы уверены, что в поле базы данных есть XAML? Кажется, что XML (без A) от того, что вы разместили, может быть, простой XmlReader выполнит эту работу? – nvoigt
Спасибо Nvoigt, да, это определенно XAML. Корневой узел xmlns подтверждает это '<Раздел xml: space =" сохранить "HasTrailingParagraphBreakOnPaste =" False "xmlns =" http://schemas.microsoft.com/winfx/2006/xaml/presentation ">' – Tommy