我有一個包含40個xml文件的文件夾,我需要刪除<column ..../>
元素。在許多XML文件中刪除元素
我想一口氣做到這一切。這是我需要修改過的文件的一個例子:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<!-- generated using CMHInc.NHibernate.hbm.cst -->
<class name="CMHInc.Lodge.Business.Core.ProductType, CMHInc.Lodge.Business.Core" table="ProductType" lazy="false" schema="CMHPos">
<id name="Id" type="Guid" unsaved-value="{00000000-0000-0000-0000-000000000000}" >
<column name="Id" sql-type="uniqueidentifier" not-null="true" unique="true" index="PK_ProductType"/>
<generator class="guid.comb" />
</id>
<version name="RowId" column="RowId" generated="always" type="Byte[]"
unsaved-value="null" access="field.camelcase-underscore"/>
<property name="Type" type="String" access="field.camelcase-underscore" >
<column name="Type" length="20" sql-type="varchar" not-null="true"/>
</property>
我想刪除的
<column name="Type" length="20" sql-type="varchar" not-null="true"/>
這裏的每一個實例是我的PowerShell代碼:
Get-ChildItem c:\xml\*.xml | % {
$xml = [xml](Get-Content $_.FullName)
$xml.catalog.book |
where { $_.title -eq "property" } |
foreach { $_.RemoveAttribute("column") }
$xml.Save($_.FullName)
}
我有以下錯誤:
異常調用 「保存」 與 「1」參數:「訪問路徑'C:\ xml \ ActivityChargeCalculation.hbm.xml'被拒絕。」
我查找了文件和文件夾的安全設置,但是我以管理員身份登錄並創建了這些文件。
對此提出建議?
使用Win7,我也嘗試過全名前的「Resolve-Path」。 – WickedFan 2013-04-26 22:42:47
好吧,以管理員身份運行powershell解決了異常調用保存問題,但似乎並不像文件正在被修改。他們現在得到保存。 – WickedFan 2013-04-26 22:57:19