2

XML コメント間で XML 要素を識別 (および置換) できるようにしたいと考えています。例えば:

<!-- between here -->
<add key="userdefined1" value="something1" />
<add key="userdefined2" value="something2" />
<add key="userdefined3" value="something3" />
<!-- between here -->

コメントを使用する理由は、これが .NET Web プロジェクトの web.config ファイルであるためです。カスタム構成セクションを使用しない理由は、アプリケーションが古く、これらのキーへの既存の参照が何千もあるため、アクセス方法を変更するのが面倒になる可能性があるためです。

4

1 に答える 1

1

これは最適ではないかもしれませんが、うまくいきます。ここには、文字列とファイル名の 2 つの定数があります。

$comment = '<!-- between here -->'
$start = $false
ForEach ($l in (Get-Content .\testfile.config)) { 
        if (-not $start -and $l -notmatch $comment) {continue}
        if (-not $start -and $l -match $comment ) { $start = $True }
        elseif ($start -and  $l -notmatch $comment) { echo $l }
        elseif ($start -and  $l -match $comment) { break }
}

別の方法として:

$comment = '<!-- between here -->'
$file = '.\testfile.config'
Select-String -pattern $comment -path $file | % { if (-not $b) { $b=$_.LineNumber} else { $e=$_.LinenUmber-2}}
Get-Content $file | Select-Object -Index ($b..$e)
于 2014-04-21T20:11:02.063 に答える