C#アプリケーションでProcessで起動したPowerShellのxmlstarletを使用します。 PowerShellの上XmlstarletエンコーディングとPowerShellの内部処理C#
./xml.exe ed -N ns=http://www.w3.org/2006/04/ttaf1 -d '//ns:div[not(contains(@xml:lang,''Italian''))]' "C:\Users\1H144708H\Downloads\a.mul.ttml" > "C:\Users\1H144708H\Downloads\a.mul.ttml.conv"
私は(私はUTF-8を必要とする)間違ったエンコーディングでファイルを取得: 私の主な問題は、私はこのコードを使用する場合ということです。
はバッシュに私はちょうどexport LANG=it_IT.UTF-8 &&
xmlstarlet前に、しかし、PowerShellの上で、私は実際にそれを行う方法を知らないために使用されます。 おそらく別の方法がありますが、xmlstarletがsel-encoding UTF-8を使用できることがわかりましたが、edモードで使用する方法はわかりません(xml.exeの後にedなどの後で使用しようとしました。しかしそれはいつも失敗する)。
LANG = it_IT.UTF-8をエクスポートする代わりに、--encoding utf-8を使用する方法はありますか?
PS。
$MyFile = Get-Content "C:\Users\1H144708H\Downloads\a.mul.ttml"; $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False; [System.IO.File]::WriteAllLines("C:\Users\1H144708H\Downloads\a.mul.ttml.conv", $MyFile, $Utf8NoBomEncoding)
そして:
./xml.exe ed -N ns=http://www.w3.org/2006/04/ttaf1 -d '//ns:div[not(contains(@xml:lang,''Italian''))]' "C:\Users\1H144708H\Downloads\a.mul.ttml" | Out-File "C:\Users\1H144708H\Downloads\a.mul.ttml.conv" -Encoding utf8
しかし、èàìùなどの文字がまだ間違っている私のような多くの、多くの事を試してみました。変換前に元のファイルをメモ帳で保存しようとすると(xmlstarletを使用しない場合のみ)...しかし、PowerShellで同じことをする必要があります。
EDIT。 私はPowerShellの上で私のUTF8を印刷することができました:
Get-Content -Path "C:\Users\1H144708H\Downloads\a.mul.ttml" -Encoding UTF8
しかし、私はまだxmlstarletと同じことを行うことができませんよ。