我的目标是创建一个计划任务从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)
我不知道术语删除/创建文本是否是最佳解决方案。 有任何想法吗? 感谢
答案 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
将成为文档,因此您可以操作它,删除部分,添加和修改脚本中的所有部分。