ConvertTo-JsonFromXml.psm1
function ConvertTo-JsonFromXml { Param( [Parameter(Mandatory)][String]$XMLData ) $xmldoc = [System.Xml.XmlDataDocument]::new() $xmldoc.LoadXml((Remove-UnknownCharactersFromXML -String $XMLData)) $res = [Newtonsoft.Json.JsonConvert]::SerializeXmlNode($xmldoc,[Newtonsoft.Json.Formatting, Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed]::Indented) Write-Output ([Regex]::Replace($res, "@", [string]::Empty, [System.Text.RegularExpressions.RegexOptions]::IgnoreCase)) } function Remove-UnknownCharactersFromXML { Param( [Parameter(Mandatory)]$String ) $specialChars = $String [int]$count = 0 $shouldProceed = $true foreach($item in ($specialChars).ToCharArray()) { if($shouldProceed) { if($item -ne '<') { $shouldProceed = $true $count++ } else{ $shouldProceed = $false } } } return ($specialChars[$count..(($specialChars).ToCharArray().Count - 1)] -join '') } |