从powershell中的混合字符串中获取xml

时间:2018-02-22 12:43:58

标签: windows powershell

我有字符串,包含通常的字符和xml。喜欢这个

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>

如何获取仅包含xml的字符串?甚至是<?xml之后的所有人? 谢谢你的帮助

1 个答案:

答案 0 :(得分:4)

使用Select-String和正则表达式。这会返回<?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 }