Tôi muốn đọc trong một tệp XML và sửa đổi một phần tử rồi lưu nó trở lại tệp. Cách tốt nhất để làm điều này trong khi bảo quản định dạng và cũng giữ cho phù hợp với Line terminator (CRLF vs LF) là gì?Powershell lưu XML và định dạng bảo toàn
Dưới đây là những gì tôi có nhưng nó không làm điều đó:
$xml = [xml]([System.IO.File]::ReadAllText($fileName))
$xml.PreserveWhitespace = $true
# Change some element
$xml.Save($fileName)
Vấn đề là tắm mới Lines (aka dòng trống trong xml) được loại bỏ và sau khi tôi đã trộn LF và CRLF.
Cảm ơn vì đã giúp ra một newbie PowerShell :)
Bạn có ý gì khi 'giữ nguyên định dạng'? – manojlds
Nó có thể sẽ không tạo ra sự khác biệt, nhưng bạn đã thử '$ xml = [xml] (Get-Content $ filename)' thay thế? Nếu không, bạn có thể phải sử dụng lớp .NET XmlDocument gốc và các phương thức để tải, chỉnh sửa và lưu tệp. – Ryan
@manojids Tôi muốn bảo quản khoảng trống, dòng mới, tab, v.v. –