2017-12-09 15 views
1

ここでは、次のようなxmlデータを含むサンプルリンクがあります。指定されたリンクのXMLコンテンツには、 のXML要素<DisplayName>Name of the employee</DisplayName>があります。DisplayName要素からすべての値を取得したいと考えています。どのようにのDisplayNameすべてのxml要素の内容を取得し、JSONの リストはオブジェクトとしてそれらを返すには?これまでのところ、私が以下で試したことはありますが、何も返されません。私はブレークポイントを置くとき、私はresponse.IsSuccessStatusCode = falseを無断あるのStatusCodeをのreasonPhraseことが分かりました。私はこのことをどうやってやっていくのですか?HttpClientを使用してXMLコンテンツサイトからデータを消費し、JsonオブジェクトのListとして返す方法

private const string URL = "https://apidev.mysite.net/employees/"; 
     [Route("api/Personnel/UserNames")] 
     [HttpGet] 
     public List<ADGroup> AutocompleteUserNames(string searchText) 
     { 

      HttpClient client = new HttpClient(); 
      client.BaseAddress = new Uri(URL); 

      // Add an Accept header for JSON format. 
      client.DefaultRequestHeaders.Accept.Add(
      new MediaTypeWithQualityHeaderValue("application/json")); 

      // List data response. 
      HttpResponseMessage response = client.GetAsync(searchText).Result; 
      // response.EnsureSuccessStatusCode(); 
      if (response.IsSuccessStatusCode) 
      { 
       var data = response.Content.ReadAsStringAsync().Result; 
       List<ADGroup> result = AutoMapper.Mapper.Map<List<ADGroup>>(data);    
       return result; 
      } 
      else 
      { 
       return new List<ADGroup>(); 

      } 
     } 

サンプルリンク:リンクの https://apidev.mysite.net/employees/shea

XMLコンテンツ:

<ArrayOfEmployeeVm xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MySite.Api.WebApi.Models"> 
<EmployeeVm> 
<ActiveDirectoryName>dfhdfhdffhf</ActiveDirectoryName> 
<BusinessPhone>4646456</BusinessPhone> 
<DisplayName>Shea, Danny J.</DisplayName> 
<Email>[email protected]</Email> 
<EmployeeId>19072</EmployeeId> 
<EmployeeIdOriginal>19072</EmployeeIdOriginal> 
<FirstName>Danny J.</FirstName> 
<FullName>Danny J. Shea</FullName> 
<IsActive>true</IsActive> 
<LastName>Shea</LastName> 
<Office>Boston</Office> 
<PracticeGroup>HLB Consulting</PracticeGroup> 
<Title>Of Counsel</Title> 
</EmployeeVm> 

<EmployeeVm> 
<ActiveDirectoryName>MPtshdfh</ActiveDirectoryName> 
<BusinessPhone>+4546556</BusinessPhone> 
<DisplayName>Shearer, Dennis D.</DisplayName> 
<Email>[email protected]</Email> 
<EmployeeId>60048</EmployeeId> 
<EmployeeIdOriginal>60048</EmployeeIdOriginal> 
<FirstName>Dennis D.</FirstName> 
<FullName>Dennis D. Shearer</FullName> 
<IsActive>true</IsActive> 
<LastName>Shearer</LastName> 
<Office>San Francisco</Office> 
<PracticeGroup>Office Services</PracticeGroup> 
<Title>Facilities Manager</Title> 
</EmployeeVm> 

<EmployeeVm> 
<ActiveDirectoryName>MPghdjgj</ActiveDirectoryName> 
<BusinessPhone>+45645757</BusinessPhone> 
<DisplayName>Shea, Ted P.</DisplayName> 
<Email>[email protected]</Email> 
<EmployeeId>74251</EmployeeId> 
<EmployeeIdOriginal>74251</EmployeeIdOriginal> 
<FirstName>Ted P.</FirstName> 
<FullName>Ted P. Shea</FullName> 
<IsActive>true</IsActive> 
<LastName>Shea</LastName> 
<Office>Philadelphia</Office> 
<PracticeGroup>Information Technology</PracticeGroup> 
<Title>Chief Information Officer</Title> 
</EmployeeVm> 
</ArrayOfEmployeeVm> 

答えて

関連する問題