如何在 PowerShell 中更改 xml 对象的版本属性?

戴维斯8988

我正在 PowerShell 中读取 xml 文件的内容并在将其转换为 xml 之前更改它的版本号(从 1.1 到 1.0),以便它不会引发异常,因为据我所知,不支持 1.1 版。
然后我对内容进行了一些更改,我想将其保存到一个文件中,但再次将版本从 1.0 更改为 1.1,就像我阅读它时一样。

以下是我使用的命令:

@'
<?xml version='1.1' encoding='UTF-8'?>  

<Root>  
  <element1>  
    <string>name</string>  
  </element1>  
  <version>3.2.1</version>  
</Root> 
'@ | Out-File Demo.xml

$content = (Get-Content .\Demo.xml)
$replacedVersion = $content.Replace('<?xml version=''1.1'' encoding=''UTF-8''?>','<?xml version=''1.0'' encoding=''UTF-8''?>') 

$XMLFile = [xml]$replacedVersion   
// here I make my changes
//   ...
$pathToSaveAt = "C:\MyDir\newFile.xml"
$XMLFile.Save($pathToSaveAt)  

但我得到的结果是一个 xml 文件,其标题包含版本

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

我希望它是 1.1 版。

我试图得到的结果是一个包含以下内容的 xml 文件:

<?xml version='1.1' encoding='UTF-8'?>  

<Root>  
  // all the changes I made 
</Root> 

我怎样才能做到这一点?

凯末尔K。

这对你有帮助吗?

    @'
<?xml version='1.1' encoding='UTF-8'?>  

<Root>  
  <element1>  
    <string>name</string>  
  </element1>  
  <version>3.2.1</version>  
</Root> 
'@ | Out-File Demo.xml


$newContent = @()

$content = (Get-Content .\Demo.xml)
ForEach($Regel In $content){

  if($Regel -match "<?xml*"){
    $newContent +=$Regel 
    $newContent +=""        
    }       
   elseif ($Regel -match "<root>"){
    $newContent += "<Root>"}           
   elseif ($Regel -match "</Root>"){
    $newContent += "</Root>"
    }
  elseif (($Regel -match "<elem*")-or ($Regel -match "<version>3.*")){
    $newContent += '    //test me'
    }
   }
$newContent |Out-File Cdemo.xml

输出文件是

<?xml version='1.1' encoding='UTF-8'?>  

<Root>
    //test me
    //test me
</Root>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Powershell 中获取 XML 节点属性值?

来自分类Dev

如何在Powershell中遍历XML?

来自分类Dev

如何在PowerShell中从不同的xml节点动态读取特定的XML属性

来自分类Dev

如何在PowerShell 5中更改字体属性?

来自分类Dev

如何在新的XML文档中更改属性的值?

来自分类Dev

如何使用PowerShell更改XML元素属性的值?

来自分类Dev

Powershell如何更改xml文件中的编号/值

来自分类Dev

为什么有时依赖项在pom.xml中不包含版本属性?

来自分类Dev

如何在Powershell中的hastable属性上执行where对象?

来自分类Dev

如何在PowerShell中获取Java版本

来自分类Dev

如何在Powershell中使用冒号读取xml属性

来自分类Dev

如何在PowerShell中为XML添加子元素

来自分类Dev

如何在PowerShell中自动创建XML的新元素?

来自分类Dev

如何在Powershell中获取特定的XML节点

来自分类Dev

如何在Powershell中从Get-GPOReport解析XML?

来自分类Dev

如何在 powershell 中从我的 XML 文件中选择元素

来自分类Dev

如何在 powershell 中的 .loadtest 文件上使用 XML - SelectNode

来自分类Dev

如何在Powershell中更改路径?

来自分类Dev

如何在 Powershell 中更改 PSCustomObject 的数组

来自分类Dev

如何在Powershell中添加参数以更改文件目的地和版本号

来自分类Dev

如何在PowerShell中创建匿名对象?

来自分类Dev

如何更改 xml 中的 xml:lang 属性值?

来自分类Dev

每个属性都有唯一名称时,如何在PowerShell中解析XML?

来自分类Dev

如何在xml中添加属性

来自分类Dev

如何在xml中添加属性值

来自分类Dev

如何在XML中隐藏PropertyGid的属性?

来自分类Dev

Powershell-如何在自定义对象的属性中添加多个对象?

来自分类Dev

PHP和XML:如何在XML中检索属性

来自分类Dev

如何在移动版本中更改对象的宽度

Related 相关文章

  1. 1

    如何在 Powershell 中获取 XML 节点属性值?

  2. 2

    如何在Powershell中遍历XML?

  3. 3

    如何在PowerShell中从不同的xml节点动态读取特定的XML属性

  4. 4

    如何在PowerShell 5中更改字体属性?

  5. 5

    如何在新的XML文档中更改属性的值?

  6. 6

    如何使用PowerShell更改XML元素属性的值?

  7. 7

    Powershell如何更改xml文件中的编号/值

  8. 8

    为什么有时依赖项在pom.xml中不包含版本属性?

  9. 9

    如何在Powershell中的hastable属性上执行where对象?

  10. 10

    如何在PowerShell中获取Java版本

  11. 11

    如何在Powershell中使用冒号读取xml属性

  12. 12

    如何在PowerShell中为XML添加子元素

  13. 13

    如何在PowerShell中自动创建XML的新元素?

  14. 14

    如何在Powershell中获取特定的XML节点

  15. 15

    如何在Powershell中从Get-GPOReport解析XML?

  16. 16

    如何在 powershell 中从我的 XML 文件中选择元素

  17. 17

    如何在 powershell 中的 .loadtest 文件上使用 XML - SelectNode

  18. 18

    如何在Powershell中更改路径?

  19. 19

    如何在 Powershell 中更改 PSCustomObject 的数组

  20. 20

    如何在Powershell中添加参数以更改文件目的地和版本号

  21. 21

    如何在PowerShell中创建匿名对象?

  22. 22

    如何更改 xml 中的 xml:lang 属性值?

  23. 23

    每个属性都有唯一名称时,如何在PowerShell中解析XML?

  24. 24

    如何在xml中添加属性

  25. 25

    如何在xml中添加属性值

  26. 26

    如何在XML中隐藏PropertyGid的属性?

  27. 27

    Powershell-如何在自定义对象的属性中添加多个对象?

  28. 28

    PHP和XML:如何在XML中检索属性

  29. 29

    如何在移动版本中更改对象的宽度

热门标签

归档