使用Powershell-通过将现有子节点保留在现有xml文件中来添加父节点。

曼尼斯·库玛(Manish Kumar)

现有文件我有以下xml文件。我想使用PowerShell添加缺少的节点。我需要帮助来生成新的XML文件。需要帮助。

   <Office>
        <EmpID>0001</EmpID>
        <EmpName>John</EmpName>
        <Dept>HR</Dept>
        <Location>Ohio</Location>
        <Designation>Associate</Designation>

        <EmpID>0002</EmpID>
        <EmpName>George</EmpName>
        <Dept>IT</Dept>
        <Location>California</Location>
        <Designation>IT Engineer</Designation>

        <EmpID>0003</EmpID>
        <EmpName>James</EmpName>
        <Dept>Fin</Dept>
        <Location>NewYork</Location>
        <Designation>Auditor</Designation>
    </Office>

新的预期文件

 <Office>
       <OfficeName>NEWOFFICE</OfficeName>
       <OfficeRegNuM>1234</OfficeRegNuM>
       <OfficeAddress>Building 001</OfficeAddress>
       <Employee> **#this is missing in existing file,How to add this Node
        <EmpID>0001</EmpID>
        <EmpName>John</EmpName>
        <Dept>HR</Dept>
        <Location>Ohio</Location>
        <Designation>Associate</Designation>
    </Employee> 
    <Employee>
        <EmpID>0002</EmpID>
        <EmpName>George</EmpName>
        <Dept>IT</Dept>
        <Location>California</Location>
        <Designation>IT Engineer</Designation>
    </Employee> 
    <Employee
        <EmpID>0003</EmpID>
        <EmpName>James</EmpName>
        <Dept>Fin</Dept>
        <Location>NewYork</Location>
        <Designation>Auditor</Designation>
    </Employee>
    </Office>

我需要使用POwerShell生成上面的输出

马克·阿伦德

更新:输入的XML文件不能正确地组织员工。它们在Office下都是“混合在一起”的,尽管在我们看来它们似乎是分组在一起的,但是没有什么可以指定应将哪些值分组在一起的。

这是一个脚本,该脚本基于第一个文件下的employee元素始终以相同顺序出现并且始终分组在一起的假设,将您的第一个文件转换为第二个文件。

[xml]$curXml =  Get-Content test.xml

$empNode = $curXml.FirstChild.CloneNode($true)
$curXml.FirstChild.RemoveAll()

$newNode = $curXml.CreateElement("OfficeName")
$newNode.InnerText = "NEWOFFICE"
$n = $curXml.FirstChild.AppendChild($newNode)

$newNode = $curXml.CreateElement("OfficeRegNuM")
$newNode.InnerText = "1234"
$n = $curXml.FirstChild.AppendChild($newNode)

$newNode = $curXml.CreateElement("OfficeAddress")
$newNode.InnerText = "Building 001"
$n = $curXml.FirstChild.AppendChild($newNode)

foreach ($child in $empNode.GetEnumerator())
{
    if ($child.Name -eq "EmpID") {
        $newEmp = $curXml.CreateElement("Employee")
        $n = $curXml.FirstChild.AppendChild($newEmp)
    }
    $n = $newEmp.AppendChild($child.Clone())
}

Write-Host $curXml.InnerXml
Set-Content -Value $curXml.OuterXml -path testOutput.xml

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用powershell仅导入父节点而从xml文件中保留所有子节点?

来自分类Dev

使用xslt在现有XML中添加节点

来自分类Dev

如何使用c#将xml节点集添加到现有文件

来自分类Dev

使用Java将节点附加到现有XML文件中

来自分类Dev

使用Cypher将关系添加到现有节点

来自分类Dev

使用Cypher将标签添加到现有节点

来自分类Dev

使用Cypher将标签添加到现有节点

来自分类Dev

在熊猫中,什么是使用正则表达式将子字符串保留在有匹配项的序列中,否则保留现有字符串的理想方法?

来自分类Dev

使用XSLT将新节点添加到现有XML的特定位置

来自分类Dev

如何使用Perl将XML数据节点附加到现有文件?

来自分类Dev

如何使用Maven将新节点附加到现有XML文档中?

来自分类Dev

使用ffmpeg将音频流添加到文件中,并保留现有流

来自分类Dev

如何在Powershell中获得子XML节点的所有父节点

来自分类Dev

我可以将备用名称节点添加到现有的 Hadoop 集群中吗(使用名称节点和辅助名称节点)

来自分类Dev

如何使用python将嵌套的子节点添加到xml文档中的父节点?

来自分类Dev

使用PowerShell将报价保留在$ args中

来自分类Dev

如何使用TSQL向现有的根XML节点添加属性?

来自分类Dev

使用ElementTree将新的SubElement添加到现有XML文件中

来自分类Dev

将现有节点添加到空间索引(使用弹簧数据)

来自分类Dev

使用powershell在现有CSV中添加列CSV

来自分类Dev

使用 Powershell 在现有 XML 文档中创建新元素

来自分类Dev

使用bdutil在现有GCE hadoop / spark集群中添加或删除节点

来自分类Dev

使用powershell获取xml文件的parant节点的直接子节点

来自分类Dev

修改现有XML文档中的节点值并使用DOM PHP打印结果

来自分类Dev

使用 xslt 在现有 xml 节点下追加新的 xml 节点

来自分类Dev

在Perl中使用XML :: Twig,如何将父项添加到现有元素?

来自分类Dev

如何在保留现有表单数据的同时使用JavaScript将输入节点附加到表单?

来自分类Dev

PowerShell不允许我将XML节点添加到XML文件(使用PowerShell 5.1.183)

来自分类Dev

如何通过使用xmldocument中的子节点的属性值来获取父节点的属性值?

Related 相关文章

  1. 1

    如何使用powershell仅导入父节点而从xml文件中保留所有子节点?

  2. 2

    使用xslt在现有XML中添加节点

  3. 3

    如何使用c#将xml节点集添加到现有文件

  4. 4

    使用Java将节点附加到现有XML文件中

  5. 5

    使用Cypher将关系添加到现有节点

  6. 6

    使用Cypher将标签添加到现有节点

  7. 7

    使用Cypher将标签添加到现有节点

  8. 8

    在熊猫中,什么是使用正则表达式将子字符串保留在有匹配项的序列中,否则保留现有字符串的理想方法?

  9. 9

    使用XSLT将新节点添加到现有XML的特定位置

  10. 10

    如何使用Perl将XML数据节点附加到现有文件?

  11. 11

    如何使用Maven将新节点附加到现有XML文档中?

  12. 12

    使用ffmpeg将音频流添加到文件中,并保留现有流

  13. 13

    如何在Powershell中获得子XML节点的所有父节点

  14. 14

    我可以将备用名称节点添加到现有的 Hadoop 集群中吗(使用名称节点和辅助名称节点)

  15. 15

    如何使用python将嵌套的子节点添加到xml文档中的父节点?

  16. 16

    使用PowerShell将报价保留在$ args中

  17. 17

    如何使用TSQL向现有的根XML节点添加属性?

  18. 18

    使用ElementTree将新的SubElement添加到现有XML文件中

  19. 19

    将现有节点添加到空间索引(使用弹簧数据)

  20. 20

    使用powershell在现有CSV中添加列CSV

  21. 21

    使用 Powershell 在现有 XML 文档中创建新元素

  22. 22

    使用bdutil在现有GCE hadoop / spark集群中添加或删除节点

  23. 23

    使用powershell获取xml文件的parant节点的直接子节点

  24. 24

    修改现有XML文档中的节点值并使用DOM PHP打印结果

  25. 25

    使用 xslt 在现有 xml 节点下追加新的 xml 节点

  26. 26

    在Perl中使用XML :: Twig,如何将父项添加到现有元素?

  27. 27

    如何在保留现有表单数据的同时使用JavaScript将输入节点附加到表单?

  28. 28

    PowerShell不允许我将XML节点添加到XML文件(使用PowerShell 5.1.183)

  29. 29

    如何通过使用xmldocument中的子节点的属性值来获取父节点的属性值?

热门标签

归档