解決Microsoft Translator(Windows Azure)的翻譯文本時出現問題。我遵循here的示例,但是,當我嘗試在VS XAML文本框中顯示翻譯後的文本時,輸出爲:System.Data.Services.Client.QueryOperationResponse`1 [Microsoft.Translation]。Microsoft Translator XML解析
提交的查詢是正確的,但是當我在瀏覽器中鍵入它時,它不會在屏幕上返回翻譯(它只顯示文本「翻譯」和提交的時間),但頁面源提供了一個XML文檔,並在Text
標記內正確翻譯。
這是我的C#代碼:
var serviceRootUri = new Uri("https://api.datamarket.azure.com/Bing/MicrosoftTranslator/");
var accountKey = "correct account key";
TranslatorContainer tc = new TranslatorContainer(serviceRootUri);
tc.Credentials = new NetworkCredential(accountKey, accountKey);
var translationQuery = tc.Translate(NameInput.Text, "en", "es");
textBox1.Text = translationQuery.Execute().ToString();
該頁面的源代碼(XML輸出):
> <feed xmlns:base="https://api.datamarket.azure.com/Data.ashx/Bing/MicrosoftTranslator/Translate"
> xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
> xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
> xmlns="http://www.w3.org/2005/Atom">
> <title type="text" />
> <subtitle type="text">Microsoft Translator</subtitle>
> <id>https://api.datamarket.azure.com/Data.ashx/Bing/MicrosoftTranslator/Translate?Text='Mundo'&To='en'&From='es'&$top=100</id>
> <rights type="text" />
> <updated>2012-04-18T10:02:42Z</updated>
> <link rel="self" href="https://api.datamarket.azure.com/Data.ashx/Bing/MicrosoftTranslator/Translate?Text='Mundo'&To='en'&From='es'&$top=100"/>
> <entry>
> <id>https://api.datamarket.azure.com/Data.ashx/Bing/MicrosoftTranslator/Translate?Text='Mundo'&To='en'&From='es'&$skip=0&$top=1</id>
> <title type="text">Translation</title>
> <updated>2012-04-18T10:02:42Z</updated>
> <link rel="self" href="https://api.datamarket.azure.com/Data.ashx/Bing/MicrosoftTranslator/Translate?Text='Mundo'&To='en'&From='es'&$skip=0&$top=1"/>
> <content type="application/xml">
> <m:properties> <d:Text m:type="Edm.String">World</d:Text> </m:properties>
> </content>
> </entry>
> </feed>
我試圖提取XML翻譯文本,下面從here,here和here適應代碼,以及Linq,但它不會讀取未保存的文件。使用不贊成的Bing翻譯器,我設法使用XElement.Parse(translatedText).Value
命令獲得解析文本,該命令現在不起作用。有沒有辦法從這個文檔讀取(從頁面源解析),或者任何其他方式來獲取翻譯文本?
是XML輸出,我看到這個類從另一個類似的帖子[鏈接](HTTP://計算器。 com/a/10205554/1340960),但我不確定如何使用它? – dzookatz 2012-04-18 14:50:21
是的,按照這個答案:http://stackoverflow.com/questions/2686533/is-there-a-way-to-create-a-syndicationfeed-from-a-string一旦你有SyndicationFeed,你可以開始迭代通過項目。 – 2012-04-18 14:56:53
對不起,對於後期的帖子,我嘗試使用「SyndicationFeed」以及[link](http://stackoverflow.com/questions/2686533/is-there-a-way-to-create來自一個字符串的聯合採購)以及一些更多的鏈接。嘗試與此變化:'TextReader tr = new StringReader(results); XmlReader xmlReader = XmlReader.Create(tr); SyndicationFeed feed = SyndicationFeed.Load(xmlReader); NameInput.Text = feed.ToString();',但無濟於事。感謝您的幫助,雖然:) '' – dzookatz 2012-04-19 12:59:35