如何使用PowerShell创建XML根目录/序言注释?

时间:2019-02-16 08:23:23

标签: xml powershell xml-comments

我正在尝试将根注释添加到一个没有XML的XML文件中。我已经接近了,但是无法在root / prolog区域中获取它,而只能在第一个元素之后注入它。

(preloading [xml]$UpdatenuspecFile=somefile.nuspec)

对我来说,工作似乎合乎逻辑:

 $UpdatednuspecFile.'#comment' = "test"

但这会导致:

Cannot set "#comment" because only strings can be used as values to set XmlNode properties.
At line:1 char:1
+ $UpdatednuspecFile.'#comment' = "test"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], SetValueException
    + FullyQualifiedErrorId : XmlNodeSetRestrictionsMoreThanOneNode

有些(不是很多)Googlefu使我无法使用:

$XMLComment="This is my comment"
$UpdatednuspecFile = [xml]([System.IO.File]::ReadAllText(file.nuspec))
$Comment = $UpdatednuspecFile.CreateComment($XMLComment)
$UpdatednuspecFile.DocumentElement.InsertBefore($Comment,$UpatednuspecFile.DocumentElement)

我已经尝试了上述多种变体,例如将InsertBeforeInserAfter$UpatednuspecFile.DocumentElement$UpatednuspecFile使用$UpatednuspecFile.FirstNode$UpatednuspecFile.xml$UpatednuspecFile.package

并且不能使它在XML声明后立即显示;即第2行。

相反,我的评论总是显示在第一个元素(包)的开头或底部。

并可以通过$UpdatednuspecFile.package.'#comment'

显示(取决于上述方法)

预期的结果将是插入并显示为 $UpdatednuspecFile.'#comment"显示$XMLComment

0 个答案:

没有答案