Powershell xml抓取

Powershell xml抓取,xml,powershell,powerbi,Xml,Powershell,Powerbi,因此,我试图在Power BI中生成一个流数据集,这样我就可以在团队中拥有一个选项卡,不断使用我公司数据库中的数据进行更新。我提取数据的方式是通过我们的平台API,该API根据查询生成一个文件(XML、JSON、CSV)和一个URL。我想使用PowerShell来刮取XML,然后将数据推送到PowerBI中的仪表板上,但我对这些都没有经验,所以我完全不知道从哪里开始 我只是使用输入时间之前的工作时间日志为我的公司生成一个原型仪表板 下面是生成的xml文件的一部分 332 1. 332 332

因此,我试图在Power BI中生成一个流数据集,这样我就可以在团队中拥有一个选项卡,不断使用我公司数据库中的数据进行更新。我提取数据的方式是通过我们的平台API,该API根据查询生成一个文件(XML、JSON、CSV)和一个URL。我想使用PowerShell来刮取XML,然后将数据推送到PowerBI中的仪表板上,但我对这些都没有经验,所以我完全不知道从哪里开始

我只是使用输入时间之前的工作时间日志为我的公司生成一个原型仪表板

下面是生成的xml文件的一部分


332
1.
332
332
6.
6.
6.
或相同数据的备用JSON文件:

{“COUNT”:“332”,“DISPLAY_LIST_START”:“1”,“DISPLAY_LIST_STOP”:“332”,“STOP”:“SESSION_ID”:“HxNI-Zuc1B2EFAzTS8hx6w7Ek_dbrNCMhYVNI3Ta”,“FIELD”:“6”,“04/23/2018”],{“SESSION_ID”:“HxNI-zuc1b2efazthx6w7ek_-dbrNCMhYVNI3Ta”,“FIELD”:“6”、[“04/24/2018”],“{“SESSION hxjjjvnu”;“SESSION hhztu”;“SESSION”;“SESSION”;“SESSION”;“SESSION hxjjvni3tu”;“SESSION[2008年4月26日,2018年4月26号“]},,{“Se存,”2018年4月26日,{“2018年4/2018年4月30/2018年4月30日”]},{“Se存,”2018年4月26号,,{“Se存存于2018年4/2018年4/2018年10月26号”,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,{,,,,,,,,,,,,,,,,,,,,,,,{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,W7EK_dbrNCMhYVNI3Ta,“字段”:[“6”,[”2018年05/03/2018年05/03/2018年3月[[3]号,,{[5/03/2018年05/07/2018年05/07/2018年05/07/2018年7月[3]号,{[5/2018年05/05/08/2018年3月[3]号,{“Se存存存于2018年05/03/2018年10月3月3号,,,{,,,,{[2018年05/2018年3月10月10月3]号,,{,,,,,,{,,,,,{,,,,{,,,{“存存于,{,{,”,”天,,,{“会议ID,,{“存,,{“存,{”号,{,”,”,”,,{“届,,{“会议ID,,{,”,”,”,”,”,”,{,{“会议ID,,,{,,{,{,{,,,{,,{,{,,,,,,,{“7EK_dbrNCMhYVNI3Ta,“字段”:[“6”,[”2008年10月10日,2018年5月10月10日,,[2018年10月10月10月10日,[2018年5月17月18日,[2018年10月10月10月10/2018年5月10月18日]},,{“Se10/2018年10月10月10月10月10日],{“Se10/2018年10/2018年10月10月10月10月10月10月10号,,”,,,,,,,[2018年10月10月10月10月10月10月10月10月10月10月10月10月10月10月18日,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,{,,,,,,{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,{,,,{,{“Se7EK_dbrNCMhYVNI3Ta,“字段”:[“6”,[”18/18/2018年5月18日,2018年5月18日,,{[18/2018年5/18/2018年5/22/2018年5月18日,{[18/18/2018年5/18月18月18月18日]},,{[18/2018年10月18日,{[18/2018年5/18月18月18日,,,{[18/2018年18/2018年5/18月18月18号,,,,{,,,,{,,,,{,{,,{,,{,{,,{,{,{,{,{,{,,{,{,{,{,{,{,{,{,{,[年18/2018年18/2018年18/2018年18/2018年18/2018年18/2018年18月18月18月18月18月18月18月18月18月18月18月18日,,,,,{,,,,{,{,{,,{,,,,,7EK_dbrNCMhYVNI3Ta,“字段”:[“4”,[”2008年5月24日,2018年5月24日,[2018年5月24日]],{2018年5月24日,,{,[2018年5月25/2018年5/29/2018年5月28日]]},{,{2018年5月24/2018年10月18日,{,{会议ID ID:,,,[2008/2018/18/18/18/24/18/18/18/18/2018年10/2018年10月24/2018年5,,,,,,,,,,,,,,,,,,,{,{,{,,,,,,{,,,,,{,{,,,,,,{,,{,,,,,,{,,,,{,,,,,,,{,,,,{,[2007年18年18月18月18月18/2018年5,,,,,,,,,,,,,,,{,{,,,,,,,,,,,X6W7EK_dbrNCMhYVNI3Ta,“字段”:[“6”,[”18/06/2018年6/06/2018年6/06/2018年6/06/2018年6/06/08/2018年6/08/2018年8月8月8月8月18日,{2007年6/06/2018年6/06/08/2018年8月8月8月18日,{,{,{会议ID,{,{会议ID,{,{,{,,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{会议ID,},},},{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{,{7EK_dbrNCMhYVNI3Ta,“字段”:[“6”,[”06/19/2018"]]}
将我想要的所有数据标记为“值”会让这变得更加困难。但是,正如我所说,它是由公司API自动生成的

下面是Power BI生成的PowerShell代码

$endpoint = "https://api.powerbi.com/beta/d6cdaa23-930e-49c1-9d2a-0fbe648551b2/datasets/34eaea1e-73b6-4759-ac8b-aaae51708654/rows?noSignUpCheck=1&key=Ur9E0GDrhkp4EwJOF4bCbg7EO7aIve54urjB8M%2BHevG1%2F6pDgRJ47Fvkmx4b%2FcMowlhV18ZYyVtF9pfG%2BM1EQA%3D%3D"
$payload = @{
"Hours" =98.6
"Date Worked" ="2020-07-20T18:40:06.892Z"
}
Invoke-RestMethod -Method Post -Uri "$endpoint" -Body (ConvertTo-Json @($payload))

我知道这是很多,我一直在看教程和论坛,但我有点被淹没了。

考虑到所有东西都标记为“值”,我个人会使用JSON而不是XML,因为提取感觉“更干净”

要从JSON中提取数据,请执行以下操作:

#将JSON转换为PSObject。
“1”,“显示”展示。展示。清单上的清单上的清单上的停止“。“332”,“停止““33 2”,“停止“““,”,“3 3 2”,“记录“:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,[”2008年4月26日,2018年4月26日,[2018年4月4/2018年4月30日,[2018年4月30日,[2018年4月40/2018年4月30日]},[2007年4月4/2018年4/2018年4月4/2018年4月4月18日],{“会话ID ID:,,[2018/2018年4/2018年4/2018年4/2018年4月10月10月18号”,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,7EK_dbrNCMhYVNI3Ta,“字段”:[“6”,[”2018年05/03/2018年05/03/2018年3月[[3]号,,{[5/03/2018年05/07/2018年05/07/2018年05/07/2018年7月[3]号,{[5/2018年05/05/08/2018年3月[3]号,{“Se存存存于2018年05/03/2018年10月3月3号,,,{,,,,{[2018年05/2018年3月10月10月3]号,,{,,,,,,{,,,,,{,,,,{,,,{“存存于,{,{,”,”天,,,{“会议ID,,{“存,,{“存,{”号,{,”,”,”,,{“届,,{“会议ID,,{,”,”,”,”,”,”,{,{“会议ID,,,{,,{,{,{,,,{,,{,{,,,,,,,{“7EK_dbrNCMhYVNI3Ta,“字段”:[“6”,[”2008年10月10日,2018年5月10月10日,,[2018年10月10月10月10日,[2018年5月17月18日,[2018年10月10月10月10/2018年5月10月18日]},,{“Se10/2018年10月10月10月10月10日],{“Se10/2018年10/2018年10月10月10月10月10月10月10号,,”,,,,,,,[2018年10月10月10月10月10月10月10月10月10月10月10月10月10月10月18日,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,{,,,,,,{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,{,,,{,{“Se7EK_dbrNCMhYVNI3Ta,“字段”:[“6”,[”18/18/2018年5月18日,2018年5月18日,,{[18/2018年5/18/2018年5/22/2018年5月18日,{[18/18/2018年5/18月18月18月18日]},,{[18/2018年10月18日,{[18/2018年5/18月18月18日,,,{[18/2018年18/2018年5/18月18月18号,,,,{,,,,{,,,,{,{,,{,,{,{,,{,{,{,{,{,{,,{,{,{,{,{,{,{,{,{,[年18/2018年18/2018年18/2018年18/2018年18/2018年18/2018年18月18月18月18月18月18月18月18月18月18月18月18日,,,,,{,,,,{,{,{,,{,,,,,7EK_dbrNCMhYVNI3Ta,“字段”:[“4”,[”2008年5月24日,2018年5月24日,[2018年5月24日]],{2018年5月24日,,{,[2018年5月25/2018年5/29/2018年5月28日]]},{,{2018年5月24/2018年10月18日,{,{会议ID ID:,,,[2008/2018/18/18/18/24/18/18/18/18/2018年10/2018年10月24/2018年5,,,,,,,,,,,,,,,,,,,{,{,{,,,,,,{,,,,,{,{,,,,,,{,,{,,,,,,{,,,,{,,,,,,,{,,,,{,[2007年18年18月18月18月18/2018年5,,,,,,,,,,,,,,,{,{,,,,,,,,,,,X6W7EK_dbrNCMhYVNI3Ta,“字段”:[“6”,[”2018年6月6日“]},{“会话ID”:“HxNI-Zuc1B2EFAzTS8hx6w7Ek”;“字段”:[“6”,[“2018年6月8日”]},{“会话ID”:“HxNI-Zuc1B2EFAzTS8hx6w7Ek”;“HxNI-ZUC1EB2EFAZTS8HX6W7EK”
$input = [xml]'
[your xml above, validated
'
$hours = $input.SelectNodes(".//RECORD//FIELD[1]/VALUE")

foreach ($hour in $hours)
{
$date = $hour.SelectSingleNode("../following-sibling::FIELD/VALUE")
Write-Host $hour.InnerText , $date.InnerText
}
6 04/23/2018
6 04/24/2018
6 04/26/2018