Powershell中的脚本可以下载xml追加到文件

时间:2016-12-19 22:12:15

标签: xml powershell

我的目标是创建一个计划任务从Internet下载XML文件并附加到文件。有时,XML文件包含信息,有时不包含标题。 什么时候有文件内容的信息:

<?xml version="1.0" encoding="UTF-8"?>
<Export>
.
.
.
</Export>

当它没有:

<?xml version="1.0" encoding="UTF-8"?>
<Export/> 

最终文件的内容将类似于:

<Export>
.
.
.
"content appended" 
.
.
</Export>

这是下载XML的脚本

$url = "http://www.website/objxml"
$input = "path to xml file"
(New-Object System.Net.WebClient).DownloadFile($url, $input) 

我不知道术语删除/创建文本是否是最佳解决方案。 有任何想法吗? 感谢

1 个答案:

答案 0 :(得分:0)

好的,而不是使用.DownloadFile使用.DownloadString它会将url内容输出到我们指定的变量中:

[xml]$XML = $webclient.DownloadString("Http://Url-To-XML.com")

if($XML.xml.Export.childnodes.count -ne $null)
{
     $XML | Out-File C:\Temp\Data.xml -Append
}
else
{
   #No data in XML
}

您需要调整if语句,因为我无法看到整个xml文档。既然XML存储在$XML中,你可以点遍它来到达XML树的一个点,在那里你可以检查它的成员,在这里我检查.Count的值{{1}方法但你可以更容易地检查文档中变量的值。

childnodes将成为文档,因此您可以操作它,删除部分,添加和修改脚本中的所有部分。