我正在尝试在Powershell中编辑一些xml.这是我正在做的事情:
$path = 'C:\Projects\NuGetTestPackage\NuGetTestPackage'
$projName = 'NuGetTestPackage1.csproj'
cd $path
$file = gi $projName
$pattern = 'TextTemplatingFileGenerator'
$xml = [xml](gc $file)
$node = [xml] $xml.Project.ItemGroup.None.Generator |
Where { $_.Project.ItemGroup.None.Generator -eq $pattern } |
Foreach {$_.Project.ItemGroup.None.Generator = ''}
$xml.Save($file.Fullname)
Run Code Online (Sandbox Code Playgroud)
这是XML:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{E750ACF1-17B5-4D83-8FC8-5A4488193099}</ProjectGuid>
<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NuGetTestPackage</RootNamespace>
<AssemblyName>NuGetTestPackage</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>false</UseIISExpress>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize> …Run Code Online (Sandbox Code Playgroud)