Вася Пупкин
Вася Пупкин

Reputation: 153

Get xml from mixed string in powershell

I got string, that contains usual characters and xml. Like this

General Information
********************************************* bla-bla-bla

<?xml version="1.0" encoding="utf-16"?><eventData><field key="SomeID">49ddd6f1-2fef-4cac-9eea-92df285370e7</field> <MyData>SomeData</MyData> </eventData>

How can get string, that contains only xml? Or even all after <?xml ? Thanks for any help

Upvotes: 0

Views: 55

Answers (1)

Janne Tuukkanen
Janne Tuukkanen

Reputation: 1660

Use Select-String and regular expressions. This returns everything including and after <?xml:

$s = @"
General Information
********************************************* bla-bla-bla

<?xml version="1.0" encoding="utf-16"?><eventData>
<field key="SomeID">49ddd6f1-2fef-4cac-9eea-92df285370e7</field>
<MyData>SomeData</MyData> </eventData>
"@

$s | Select-String -Pattern "(?s)<\?xml.*" | % { $_.Matches.Value }

Upvotes: 4

Related Questions