Мне нужна помощь.Я читаю файл (не XML-файл), в котором содержимое очень похоже на XML в форме:
<xml> <details>
<details><number>AB053091351</number><totalcontent>2</totalcontent></details>
<details><number>AB053091996</number><totalcontent>2</totalcontent></details>
<details><number>AB053092621</number><totalcontent>2</totalcontent></details>
<details><number>AB053093365</number><totalcontent>0</totalcontent></details>
</details> </xml>
Я делаю это:
$TRGFile <<-- filename of the content above.
$result = Get-Content $TRGFile
$pattern = '<policynumber>'
$detailResult = ($result |Select-String -Pattern $pattern)
Результат дал мне это:
<details><number>AB053091351</number><totalcontent>2</totalcontent></details>
<details><number>AB053091996</number><totalcontent>2</totalcontent></details>
<details><number>AB053092621</number><totalcontent>2</totalcontent></details>
<details><number>AB053093365</number><totalcontent>0</totalcontent></details>
Мне нужно выполнить цикл в каждой строке, чтобы получить значение в пределах "AB053091351" и "2".Обратите внимание, что, хотя это и есть шаблон XML, но он просто текстовый.
Кто-нибудь знает, как извлечь значение из этих тегов?Какая функция / командлет Powershell для этого подходит .?
Файл находится в формате .txt.Я попытался преобразовать файл в XML, используя это:
Get-Content E:\file.txt | Export-CliXML E:\file.xml
Для того, чтобы я сделал код так же, как тот, который вы предоставили.но сгенерированный файл XML отличается:
<Obj RefId="5">
<S><details><number>053091351</number><contentpages>2</contentpages></details></S>
</Obj>
В котором
<details><number>053091351</number><contentpages>2</contentpages></details>
was referred as string & not as tag.