2012-10-31 37 views
1

說我有從下面語法這個簡單的部分:如何從C#中的SRGS .grxml文件讀取語義標記?

<rule id="WhoAreYou" scope="private"> 
<one-of> 
    <item>who</item> 
    <item>what</item> 
</one-of> 
    <item> 
    are 
    you 
    </item> 
<tag>1000</tag> 
</rule> 

我怎麼會適當地從標籤返回的「1000」?我正在使用System.Speech庫,並試圖將此值返回給使用SpeechRecognizedEventArgs的方法。

回答

1

我其實只是想通了。我正在使用e.Result.Semantics.Value.ToString(),它返回的是與所說的完全相同的文本。我意識到我已經設置了tag-format =「semantics-ms/1.0」,當設置它爲tag-format =「semantics/1.0」時,應該如此解釋標籤。

1

如果您在字符串中包含xml部分,則可以將該字符串解析爲LINQ至XML XDocumentXDocument.Parse(string),然後使用它來獲取該值。閱讀LINQ到XML here :)

+0

Josh並不是指標記元素之間的實際值(即值1000);他指的是VoiceXML瀏覽器由於語音輸入而返回的內容。這個問題不是很好。它不是一個C#/ XML問題,因爲它是用哪個影子變量來獲得他想要的結果。 –