2015-03-31 5 views
1

Ниже приведен код, который PowerShell я использую, чтобы удалить родительский узел из файла web.config:Как удалить специальные символы при сохранении XML-строку с помощью Powershell

$c = "C:\test\web.config" 
    $xml = (Get-Content $c) 
    $ConnectionString = $xml.configuration.appSettings.add | Where-Object {$_.Key -eq 'ConnectionString'} 
    $xml.configuration.RemoveChild($ConnectionString.ParentNode) 
    $xml.save($c) 

After removing <appSettings> tag from web.config file. Some special Characters like &#xA; are adding to web.config file as below: 

<?xml version="1.0"?> 
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <configSections> 
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, &#xA;  System.Web.Extensions, Version=3.5.0.0, Culture=neutral, &#xA;  PublicKeyToken=31bf3856ad364e35"> 
    </configSections> 
</configuration> 

Пожалуйста, дайте мне знать, как сохранить файл XML без специальных символов, таких как &#xA; и новой линии

ответ

1

Просто был этот вопрос, я фильтруется все не ASCII-256 символов с этим регулярным выражением

$myText = # your text here 
$cleanText = ($myText -replace"[^\x00-\xFF]",""); 

вы уверены, что это символы следует удалить? Вы также можете попробовать изменить кодировку с чем-то вроде этого

$myText | Out-File -FilePath "yourPath" -Encoding utf8 
+0

я использовал как [^ \ x00- \ XFF] и кодирования utf8 для XML-файла все еще те же специальные символы, т.е. и предстоят вместо белого пространства – Praveen