Avatar billede joki Juniormester
25. marts 2019 - 20:20 Der er 1 kommentar

CDATA via powershelle

Hej

Jeg læser nedenstående xml fra fil. Jeg ønsker at elementet "payload" skal håndteres som cdata <payload> ><![CDATA[<Employee>...........
Hvordan indlæser jeg elementerne og ændre payload så jeg kan skrive til ny fil?

<?xml version="1.0"?>

-<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:emp="http://employee.xx.dk/">
<soapenv:Header/>
-<soapenv:Body>
-<emp:createEmployeeEvents>
-<occurrences>
-<occurrences>

<scope>any</scope>

<event>employee</event>

<action>Create</action>
-<payload>
-<employee>
<Initials/>
<Name_FirstName>Testmm..</Name_FirstName>
<Name_MiddleName/>
<Name_LastName/>
<SocialSecurityNumber/>
<NationalityID/>
<Address_Street/>
<Address_City/>
<Address_ZipPostalCode/>
<Address_CountryRegion/>
<LocationId/>
<Name/>
<OrganizationId>A001</OrganizationId>
<OrganizationName>Test afd</OrganizationName>
<HiredDate>2019-01-07</HiredDate>
<AccountNumber/>
<AccountRegNumber/>
</employee>
</payload>

</occurrences>

</occurrences>

</emp:createEmployeeEvents>

</soapenv:Body>

</soapenv:Envelope>
Avatar billede Spotgun Seniormester
26. marts 2019 - 11:31 #1
Her er et hurtigt eksempel:
$XmlFile = Resolve-Path -Path .\SoapEnv.xml
[xml]$Xml = Get-Content -Path $XmlFile
$Payload = $Xml.SelectSingleNode("//payload")
$Payload.ReplaceChild($Xml.CreateCDataSection($Payload.InnerXml), $Payload.employee)
$Xml.Save($XmlFile)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





CIO
Stort CIO-interview: Lemvigh-Müllers milliard-omsætning er blevet digital