2013-06-18 53 views
0

我正在使用c#(.net Framework 3.5,使用Visual Studio 2010)開發WCF REST Web服務,該服務從MSSQL DB中提取行。其中一個被拉的列是「nvarchar(max)」類型,並且始終包含一個XAML格式的文本字符串,其根節點是<section>元素,其中包含段落/運行元素。 我想從<run>元素中提取內部文本。 我想在System.Windows.markup命名空間中使用XamlReader類來執行此操作。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 

     } 

任何幫助非常感謝。由於

+0

您確定數據庫字段包含XAML嗎?它似乎是XML(沒有A)從你發佈的內容,也許一個簡單的XmlReader將完成這項工作? – nvoigt

+0

謝謝Nvoigt,它絕對是XAML。根節點的的xmlns證實了這一點'<節XML:空間=「保存」 HasTrailingParagraphBreakOnPaste =「假」的xmlns =「http://schemas.microsoft.com/winfx/2006/xaml/presentation」>' – Tommy

回答

0

我想你可能需要安裝.NET 3.5 Service Pack 1documentation底部狀態:

增加了新的成員:解析(String)方法,解析(字符串,ParserContext) 方法。

SP1功能更改。

請參考this blog post有關.NET版本編號,但對於.NET 3.5和SP1:

.NET Framework 3.5的|原始版本| 3.5.21022.8和9.0.21022.8

.NET Framework 3.5 | Service pack 1 | 3.5.30729.1和9.0.30729.1

+0

謝謝你提供的信息亞當,你可能是對的。我下載了.NET 3.5 SP1,但是當我嘗試安裝它時,什麼都沒有發生。我應該指出,我對.net相對較新,而且我不確定如何檢查當前安裝在我的開發PC上的版本。舊的方法是檢查「程序和功能」,但當我這樣做時,我根本沒有看到.Net 3.5。只有1.1和3個不同版本的4.5。這使我更加困惑,因爲我的項目的目標框架是3.5,並且這似乎沒有安裝在我的PC上,所以我的項目是如何構建和運行的。 – Tommy