Я пытаюсь создать сценарий Powershell, который просто рекурсирует через каталог, вытаскивая XML-файлы. Затем мы просматриваем каждый из XML-файлов, и я просто хочу вернуть счетчик определенного узла. Прямо вперед. Однако я не могу заставить его работать, и он не загружает дочерние узлы правильно.Почему Powershell не обрабатывает мой файл как хорошо сформированный XML-документ?
Вот мой код:
foreach ($file in $xmlFiles)
{
$xml = [xml](Get-Content $file)
$xml.SelectNodes("//RootNode/NextNode")
Write-Host $xml.count
}
Проблема, на мой взгляд, не лежит с кодом, но, возможно, XML-файла. Если я делаю $ xml.ChildNodes я получаю:
xmlns NextNode
_____ _____
http://urlgoeshere NextNode
, где первый элемент является атрибутом корневого узла, в частности, информация о схеме; второй элемент - следующий узел вниз от корня. Однако есть больше узлов, которые не будут отображаться. XML хорошо сформирован, поскольку он генерируется одной программой и используется другим. Однако ChildNodes просто не отображает все узлы.
<ScreeningSubmission xmlns="http://schema/">
<submission version="2.0">
<patient>
<firstname></firstname>
<lastname></lastname>
<gender></gender>
<date-of-birth></date-of-birth>
<ethnicity></ethnicity>
<client_ref></client_ref>
<address1></address1>
<address2></address2>
<address3></address3>
<postcode> </postcode>
<telephone></telephone>
<events>
<result>
<date></date>
<read2></read2>
<value></value>
<units></units>
<term30></term30>
<term60></term60>
</result>
</events>
</patient>
</submission>
</ScreeningSubmission>
По сути, я хочу подсчитать количество узлов - в общем случае около 10+ этого узла.
Не могли бы вы опубликовать сам XML? – stej
да, у меня будет баш, чтобы его санировать и выталкивать. – kafka