Dim xml As String = $"
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:NS1="urn:wsNewGES2000Intf-IwsNewGES2000">
<NS1:PDA_DatosArticuloResponse xmlns:NS2="urn:wsNewGES2000Intf">
<NS2:PDADatosArticulo id="1" xsi:type="NS2:PDADatosArticulo">
<Codigo xsi:type="xsd:string">B1001</Codigo>
<Nombre xsi:type="xsd:string">PAT. LISA FAMILIAR 260 GRS X 12 B.</Nombre>
<Existencias xsi:type="xsd:double">0</Existencias>
<Costo xsi:type="xsd:double">1.2</Costo>
<Margen0 xsi:type="xsd:double">3</Margen0>
<PVP0 xsi:type="xsd:double">1.212</PVP0>
<Margen1 xsi:type="xsd:double">2</Margen1>
<PVP1 xsi:type="xsd:double">1.224</PVP1>
<Margen2 xsi:type="xsd:double">0</Margen2>
<PVP2 xsi:type="xsd:double">1.236</PVP2>
<Margen3 xsi:type="xsd:double">4</Margen3>
<PVP3 xsi:type="xsd:double">1.248</PVP3>
</NS2:PDADatosArticulo>
<return href="#1"/>
</NS1:PDA_DatosArticuloResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
"$
Dim fields() As String = Array As String("Codigo", "Nombre", "Existencias", "Costo", "Margen0", "PVP0", "Margen1", "PVP1", "Margen2", "PVP2", "Margen3", "PVP3")
Dim valuesMap As Map
valuesMap.Initialize
For Each field As String In fields
Dim match As Matcher = Regex.Matcher("<" & field & ".*?>(.*?)<\/" & field & ">", xml)
If match.Find Then
Dim value As String = match.Group(1)
Log(field & " = " & value)
valuesMap.Put(field, value)
End If
Next
' valuesMap now contains values