我目前已将Cortana实施到我的Silverlight应用程序中。语音命令存储在CortanaCommands.xml,这里是代码:如何修改C#中的Cortana Voice Activation命令(XML)?
<?xml version="1.0" encoding="utf-8"?>
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1">
<CommandSet xml:lang="en-US">
<CommandPrefix>Dr. Bailey</CommandPrefix>
<Example> Open app to take dictation </Example>
<Command Name="Text">
<Example> Is it going to rain? </Example>
<ListenFor> [create] {dictation} </ListenFor>
<Feedback> "" </Feedback>
<Navigate Target="/Views/CortanaText.xaml" />
</Command>
<PhraseTopic Label="dictation" Scenario="Dictation">
<Subject> Cal 123 </Subject>
</PhraseTopic>
</CommandSet>
</VoiceCommands>"
在这个例子中,如果用户柯塔娜部署和说,然后应用程序导航“贝利博士,是它会下雨吗?”到CortanaText.xaml。这是硬编码到XML中,我希望用户能够自定义他们的命令前缀和他们的命令。
通过利用2个文本框,我在C#中已经编写一个包含整个XML字符串,而是从插入包含新的命令前缀和命令的文本框的选择。这个字符串被称为cortanaXMLstring。使用新字符串覆盖CortanaCommands.xml中现有代码的最佳方法是什么?我认为这比修改现有XML的2个不同区域更容易。我还认为可以删除CortanaCommands.xml(使用C#代码),然后通过插入字符串重新创建该XML,因为该字符串包含XML所需的所有文本?或者,是否有任何其他建议如何在XML中修改这两个字段?这是命令前缀和命令示例。感谢您提供任何帮助!