我需要将不同的文本放在XML元素中,并将内容保存到不同的文件中,每个文本对应一个文件名。
我是菜鸟,我的代号是:
$texts = (
"Text1",
"Text2",
"Text3",
...
)
$savePaths = (
"c:\foo\myfile1",
"c:\foo\myfile2",
"c:\foo\myfile3",
...
)
function MyFunction {
param (
$Text,
$SavePath
)
$xml = [XDocument]::new(
[XElement]::new("Item",
[XAttribute]::new("version", "1"),
[XElement]::new("text", $Text)
)
)
foreach ($SavePath in $savePaths) {
$xml.ToString() | Out-File ("$($SavePath.ToLower()).xml")
}
}
foreach ($text in $texts) {MyFunction -Text $text -SavePath $savePath}
它创建了所有的文件,但内容相同,如何修复?提前谢谢!
1条答案
按热度按时间v1l68za41#
如果这些数组
$texts
和$savePaths
对应,那么为什么不在此处使用模板-字符串来创建XML文件片段呢?如果您将文本和文件路径组合在一个Hashtable对象中,效果会更好,如下所示:
然后循环可以是这样的: