2014-12-09 2 views
1

Я пытаюсь использовать API Викисловаря, чтобы узнать, определены ли какие-либо слова или нет. Я видел открытый Источник WiktionaryNET и они используют этот код:API WiktionaryNET

В моем коде консоли:

var word = Wiktionary.Define("clean"); 
foreach (var def in word.Definition) 
    Console.WriteLine(def); 

В app.config:

<system.net> 
    <defaultProxy useDefaultCredentials="true" /> 
</system.net> 

Я использую те же вещи, но результат всегда «Определение.Count = 0» Кто-то знает, как я могу использовать или настроить для получения результатов?

Заранее за вашу помощь.

ответ

0

Я являюсь разработчиком этой библиотеки. Спасибо за указание на это. Я попытаюсь объяснить, что произошло, и что вы можете сделать, если вам действительно нужно это исправление прямо сейчас.

Ответ на wiktionary в формате JSON, но это страшно разобрать. На самом деле это один единственный текст. Случилось так, что ответ JSON от wiktionary был изменен с момента реализации wiktionaryNET. Теперь он содержит дополнительное поле. Парсер wiktionaryNET ошибочно интерпретирует это как контент, который должен был анализировать в первую очередь. Результатом является пустой ответ из библиотеки.

Вы можете скачать этот проект с GitHub. Затем перейдите к WiktionaryJsonQuery.cs и модифицировать AddQuery заявления включают rawcontinue:

AddQuery("format=json"); 
AddQuery("rawcontinue"); // <-- add this line 
AddQuery("action=query"); 
AddQuery("prop=revisions"); 
AddQuery("rvprop=content"); 
AddQuery("titles=" + word); 

Постройте проект и добавить полученный dll к вашему проекту.

Обратите внимание, что это только в бета-версии.

+0

Не могли бы вы рассказать, как его можно использовать для списка языковых кодов, отличных от английского (eu). Напр. для хинди (hi) или любого другого языка здесь https://en.wiktionary.org/wiki/Wiktionary:List_of_languages#Two-letter_codes –

 Смежные вопросы

  • Нет связанных вопросов^_^