¿Cómo manejar caracteres que necesitan UTF-8 en XML recuperados de HTTP GET en PowerShell?

¿Cómo manejar caracteres que necesitan UTF-8 en XML recuperados de HTTP GET en PowerShell?

No puedo recuperar datos con codificación UTF-8, a través de una solicitud HTTP GET en PowerShell.

Código:

$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

Producción:

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

Si abro este enlace API en un navegador, puedo ver ese XML como se esperaba, con caracteres especiales y acentos.

¿Como puedo resolver esto?

¡Gracias de antemano!

Respuesta1

Esta fue la forma que encontré para poder manejar ese XML, exportarlo a un archivo y leerlo en 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

Producción:

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

información relacionada