$xml.CreateElement和空节点的表示形式
在创建新的XML文件时,我使用了$xml.CreateElement和空节点的表示形式,xml,powershell,Xml,Powershell,在创建新的XML文件时,我使用了 $settingNode = $xml.CreateElement('SettingNode') $rootNode.AppendChild($settingNode) > $null 它可以工作,但是当InnerXML为空时,XML中的结果节点使用速记方法 <SettingNode /> 这在技术上是可行的,但我正在创建这些XML文件,供人们剪切和粘贴数据,所以我更愿意这样做 <SettingNode></Setti
$settingNode = $xml.CreateElement('SettingNode')
$rootNode.AppendChild($settingNode) > $null
它可以工作,但是当InnerXML为空时,XML中的结果节点使用速记方法
<SettingNode />
这在技术上是可行的,但我正在创建这些XML文件,供人们剪切和粘贴数据,所以我更愿意这样做
<SettingNode></SettingNode>
因此,用户无需任何额外的工作就可以进行粘贴。
也就是说,我找不到任何用于更改节点显示方式的标志。我是缺少了什么,还是仅限于默认表示,需要复制种子XML文件而不是以编程方式创建它们?我建议向
元素添加注释:
$settingNode=$xml.CreateElement('settingNode'))
$comment=$xml.CreateComment('在此处插入数据')
$settingNode.AppendChild($comment)>$null
$rootNode.AppendChild($settingNode)>$null
这会给你一个这样的结果:
Hmm。出于许多原因,单线方法是首选方法,但我可能会同时采用这两种方法,并在一段时间内同时使用这两种方法。我已经有一些其他的种子文件被复制了,所以在上面扩展并不是特别有问题。有点糟糕,没有一个参数可以强制输出到三种表示形式中的任何一种。我认为使用XmlDocument
对象方法无法做到这一点。不过应该行得通。啊哈。另一种实现XML的方法!我也来看看。特别是如果速度更快,我可能会想重构一些速度慢得令人恼火的代码。