В настоящее время я пытаюсь удалить большой объем данных из огромного файла XML. В настоящее время я использую Powershell, чтобы попытаться сделать это, и мне было интересно, если это вообще возможно сделать это в приемлемое количество времени. Этот файл содержит 2,5 млн записей, и я хочу удалить все записи, где атрибут = «КОМПАНИЯ». Вот мой текущий код:
$xml = [xml]''
$xml.Load("C:\New folder\untrimmed.xml")
$node = $xml.SelectSingleNode("//record[@category='COMPANY']")
while ($node -ne $null) {
$node.ParentNode.RemoveChild($node)
$node = $xml.SelectSingleNode("//record[@category='COMPANY']")
$xml.save("C:\New folder\trimmed.xml")
После того, как это выполнено через полтора часа, урезанный файл становится БОЛЬШЕ по размеру, чем оригинал. Как я могу сделать это лучше? PowerShell не является подходящим инструментом для работы здесь?