Powershell의 HTTP GET에서 검색된 XML에서 UTF-8이 필요한 문자를 처리하는 방법은 무엇입니까?

Powershell의 HTTP GET에서 검색된 XML에서 UTF-8이 필요한 문자를 처리하는 방법은 무엇입니까?

Powershell에서 HTTP GET 요청을 통해 UTF-8 인코딩으로 데이터를 검색할 수 없습니다.

암호:

$headers_tables=@{}
$headers_tables.Add("content-type", "application/xml; charset=utf-8")
$xml_employee_future_jobinfo = Invoke-WebRequest -Uri $url_employee_future_jobinfo -Method GET -Headers $headers_tables

산출:

<?xml version="1.0"?>
<table>
 <row id="2968" employeeId="839">
  <field id="date">2022-11-28</field>
  <field id="location">X</field>
  <field id="department">D</field>
  <field id="division">Infrastructure &amp; IT</field>
  <field id="jobTitle">Z</field>
  <field id="reportsTo">X Poli??ski</field>
 </row>
</table>

브라우저에서 이 API 링크를 열면 예상대로 특수 문자와 악센트가 포함된 XML을 볼 수 있습니다.

이 문제를 어떻게 해결할 수 있나요?

미리 감사드립니다!

답변1

이것은 XML을 처리하고, 파일로 내보내고, UTF-8로 읽을 수 있는 방법입니다.

$headers_tables=@{}
Invoke-WebRequest -Uri $url_employee_future_jobinfo -Method GET -Headers $headers_tables -OutFile "C:\Scripts\Power_Automate\xmldump_jobinfo.xml"
[xml]$xml_employee_future_jobinfo = get-content "C:\Scripts\Power_Automate\xmldump_jobinfo.xml" -Encoding "utf8"
Write-Host "XML: "
$xml_employee_future_jobinfo.table.row.field

산출:

id         #text              
--         -----              
date       2022-11-28         
location   X
department D
division   Infrastructure & IT
jobTitle   Z    
reportsTo  X Poliński

관련 정보