2014-12-09 3 views
1

위키 백과의 API를 사용하여 일부 단어가 정의되어 있는지 확인하려고합니다. 나는 오픈 소스의 WiktionaryNET는 그들이이 코드를 사용 보았다 : 나는 같은 일을 사용하지만API WiktionaryNET

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

다음의 app.config에서

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

: 내 콘솔 코드에서

을 결과는 항상 "Definition.Count = 0"입니다. 결과를 얻으려면 어떻게 사용하거나 설정할 수 있습니까?

미리 도움을 주셔서 감사합니다.

답변

0

저는이 라이브러리의 구현 자입니다. 이것을 지적 해 주셔서 감사합니다. 무슨 일이 있었는지 설명하고, 지금 당장 해결해야 할 일이 있다면 무엇을 할 수 있습니까?

윅셔너리 응답은 JSON 형식이지만 구문 분석은 끔찍합니다. 실제로 텍스트의 단일 blub입니다. 무슨 일이 일어 났는가 wiktionaryNET이 구현 된 이후에 wiktionary의 JSON 응답이 수정되었다는 것입니다. 이제는 추가 필드가 포함됩니다. wiktionaryNET 구문 분석기는 이것을 처음에 구문 분석해야하는 내용으로 잘못 해석합니다. 결과는 라이브러리에서 비어있는 응답입니다.

GitHub에서 프로젝트를 다운로드 할 수 있습니다. 그런 다음 WiktionaryJsonQuery.cs로 이동하여 rawcontinue 포함 할 AddQuery 문을 수정

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

프로젝트를 빌드하고 프로젝트에 결과 dll를 추가합니다.

참고로 베타 버전입니다.

+0

english (eu) 이외의 언어 코드 목록에 사용하는 방법을 알려주십시오. 예를 들어. 힌디어 (하이) 또는 여기에서 다른 언어로 https://en.wiktionary.org/wiki/Wiktionary:List_of_languages#Two-letter_codes –