Đối với lợi ích của người tìm kiếm, nếu bạn có một dòng trên cùng của xml mà bao gồm định dạng (thay vì thẳng vào nút gốc) thông tin bạn cần phải xóa dòng trên cùng trước khi bạn có thể bỏ dòng trên cùng
ví dụ:
<?xml version="1.0" encoding="utf-8"?>
<Courses>
<CourseEntry Type="Mandatory" Name="Math"/>
<CourseEntry Type="Mandatory" Name="Coding" />
<CourseEntry Type="Optional" Name="Economics" />
<CourseEntry Type="Optional" Name="History" />
</Courses>
Yêu cầu:
$xmlFile = Get-Content "*.xml"
$xmlFileMinusFormatData = $xmlFile[1..($xmlFile.Length - 1)] #we need to remove the first line
$usableXml = [xml]$xmlFileMinusFormatData # Convert to xml for easy handling
$usableXml.Courses.CourseEntry.Count # just a count of rows
Tôi không nhìn thấy bất kỳ lỗi từ dòng đó. Trước đây bạn đã gõ mạnh biến $ str hay gì đó chưa? Hãy thử đặt loại trước khi biến để (lại) gõ mạnh biến: [xml] $ str = "" (hoặc [xml] $ str = [xml] "") – Jaykul
Tương tự ở đây. Nó hoạt động cho tôi khi bạn đã gõ nó ở trên. –
Phiên bản PowerShell cũ. – rickythefox