gpt4 book ai didi

xml - 来自另一个文件的PowerShell XML节点

转载 作者:行者123 更新时间:2023-12-02 23:42:58 25 4
gpt4 key购买 nike

我正在运行PowerShell脚本,以基本上从几个较小的XML文件创建一个大XML文件。

脚本打开Template.txt:

<?xml version="1.0" encoding="utf-8"?>
<Model>
<LobSystems>
<LobSystem>
<LobSystemInstances>
</LobSystemInstances>
<Entities>
<!-- individual <ENTITY> from every XML file goes here -->
</Entities>
</LobSystem>
</LobSystems>
</Model>

我要做的就是从给定文件夹中的每个XML文件复制节点 <Entity>,并使用模板和信息创建一个新的MASTER.XML,然后从文件夹中的每个.xml提取 <ENTITY>,结果是:
<?xml version="1.0" encoding="utf-8"?>
<Model>
<LobSystems>
<LobSystem>
<LobSystemInstances>
</LobSystemInstances>
<Entities>

<Entity Name="A"> // from File1.XML
<Value>XYZ</Value>
</Entity>

<Entity Name="B"> // from File4.XML
<Value>123</Value>
</Entity>

<Entity Name="C"> // from File3.XML
<Value>@#$</Value>
</Entity>

</Entities>
</LobSystem>
</LobSystems>
</Model>

到目前为止,我的脚本如下:
[xml]$master = get-content .\Template.txt
$files = get-item -Path .\*.xml -Exclude 'Master.xml'

foreach ($file in $files)
{
[xml]$filecontents = get-content $file

$entity = $fileContents.Model.LobSystems.LobSystem.Entities.Entity

$master.Model.LobSystems.LobSystem.Entities.Entity.AppendChild($entity);

}
$master.Save("Master.xml")

好吧,这是行不通的。...我不断收到有关AppendChild()的错误消息

有什么建议么???

最佳答案

似乎您需要首先import元素,因为它来自另一个XML文档实例,如下所示:

foreach ($file in $files)
{
[xml]$filecontents = get-content $file

$entity = $fileContents.Model.LobSystems.LobSystem.Entities.Entity

$importedEntity = $master.ImportNode($entity, $TRUE)

$master.Model.LobSystems.LobSystem.Entities.AppendChild($importedEntity);

}

关于xml - 来自另一个文件的PowerShell XML节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35763373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com