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 & 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