Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell更新XML元素(内部文本)_Xml_Powershell - Fatal编程技术网

PowerShell更新XML元素(内部文本)

PowerShell更新XML元素(内部文本),xml,powershell,Xml,Powershell,鉴于此XML: v4.6.1 我想使用PowerShell将“v.4.6.1”更改为“v4.7.1” 目前,我使用以下内容加载上面的XML: $content=[xml](获取内容$path.FullName) 这依赖于PowerShell通过装饰[System.XML.XmlNode]实例方便地公开XML文档的DOM,这些实例使用反映节点的XML属性和子元素的属性组成对象层次结构,从而启用常规的点表示法。如果.XML文件“大”可能是500 GiB,这是否可行?比大多数机器都有物理内存。它

鉴于此XML:


v4.6.1
我想使用PowerShell将“v.4.6.1”更改为“v4.7.1”

目前,我使用以下内容加载上面的XML:

$content=[xml](获取内容$path.FullName)

这依赖于PowerShell通过装饰
[System.XML.XmlNode]
实例方便地公开XML文档的DOM,这些实例使用反映节点的XML属性和子元素的属性组成对象层次结构,从而启用常规的点表示法。

如果.XML文件“大”可能是500 GiB,这是否可行?比大多数机器都有物理内存。它能有效地翻页吗?@lit:它可能不能很好地伸缩。根据经验,PowerShell提供的便利是有代价的:通常是性能方面的(执行速度);虽然管道提供了一个接一个的流式处理,但这里无法利用它;对于无法放入内存的大型文件,您需要一个流式解析器,例如
[XmlReader]
()——您可能可以在PowerShell中实现这一点,尽管我还没有尝试过。这听起来是一个值得探讨的有趣话题,所以我鼓励你提出一个新问题。
$content.Project.PropertyGroup.TargetFrameworkVersion = 'v4.7.1'