Hallo Allemaal,

Wie kan mij hiermee helpen..
Ik haal met de afas getconnector informatie op..
Ik moet iets heel eenvoudigs doen met de informatie..
In dit bericht vind je de XML hoe ik het krijg vanuit de getconnector

Hoe kan ik het beste deze xml wegschrijven in een php array

<AfasGetConnector>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">;
<xs:element name="AfasGetConnector">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Debiteuren">
<xs:complexType>
<xs:sequence>
<xs:element name="OrgId" type="xs:string" minOccurs="0"/>
<xs:element name="Bedrijf" type="xs:string" minOccurs="0"/>
<xs:element name="DebiteurID" type="xs:string" minOccurs="0
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<Debiteuren>
<OrgId>12345</OrgId>
<Bedrijf>Jens Bedrijf </Bedrijf>
<DebiteurID>10951</DebiteurID>
</Debiteuren>
</AfasGetConnector>


Het gaat me vooral om deze informatie

<Debiteuren>
<OrgId>12345</OrgId>
<Bedrijf>Jens Bedrijf </Bedrijf>
<DebiteurID>10951</DebiteurID>
</Debiteuren>

Die wil ik kunnen gebruiken..

Hoe krijg ik het voor elkaar om die "OrgId" af te vangen in een variable..

Hoor het graag, ik kom er maar niet uit !
simplexml_load_string kan je daarvoor gebruiken
Dankjewel ger !
Ik ben daar al mee bezig geweest maar op een of andere manier werkt dat neit

$test = $client->__getLastResponse();
( hier komt die xml uit die ik in mijn begin post laat zien)

$xml = simplexml_load_string($test);

print_r($xml);

het geeft met hetvolgende

SimpleXMLElement Object ( )

Enig idee wat ik fout doe ?

[size=xsmall]Toevoeging op 25/11/2011 10:58:24:[/size]

Kan het zijn dat het maar tekst is wat ik terug krijg ? inplaats van een xml
Van de php manual over simplexml_load_string:
"Takes a well-formed XML string and returns it as an object."

Maar als je verder leest, zou je wel de elementen in het object moeten kunnen aanspreken als normaal. Probeer dus eens "echo $xml->Orgid"
Hey Erwin,

Ja ik snap wat je bedoelt maar dat werkt dus niet.. heel vaag vind ik het ook..
Ik heb nu wel al iets meer


$Debiteur = $client->GetData($GetDataParam);
print_r ($Debiteur);

Geeft me alle informatie die ik wil hebben.. heb alleen geen idee hoe ik er mee om moet gaan.. kunnen jullie me hiermee helpen ?

resultaat is
stdClass Object ( [GetDataResult] => 12345Jens Bakels10951)
Laat eens precies zien wat je nu hebt en hoe je die xml string uitleest, gebruik je nog steeds simplexml_load_string?
$client = new SoapClient("http://pad/profitservices/getconnector.asmx?WSDL", array('trace' => 1,'exceptions' => 0 ));

$filter = '<Filters>
<Filter FilterId="Filter 1">
<Field FieldId="DebiteurID" OperatorType="10">10951%</Field>
</Filter>
</Filters>';


$GetDataParam = array('environmentId'=> "naam",'userId'=>"user",'password'=>"pww",'logonAs'=>"",'connectorId'=>"Debiteuren",'filtersXml'=>$filter);

$Debiteur = $client->GetData($GetDataParam);
print_r ($Debiteur);


Resultaat:
stdClass Object ( [GetDataResult] => 12345Jens Bakels10951)



10951 = een debiteurnummer .. ik wil die los kunnen gebruiken.. :-(
Ik zie echt iets over het hoofd, het is zo makkelijk volgens mij, maar ergens doe ik iets niet goed..waardoor ik veel te lang loop te klote nu :(
Jens, er staat een fout in de xml response die je terug krijgt, daarom leest simplexml_load_string het niet, de fout is deze regel <xs:element name="DebiteurID" type="xs:string" minOccurs="0 daar moet dus nog "/> achter, als ik dat aanpas doet ie het wel
Sorry dat is mijn fout geweest..
De xml die ik terug krijg is veel langer, heb hem ingekort tot 3 kolommen.
Iets teveel weggehaalt dus..
Oké, maar het feit blijft dat als ik de xml uit je startpost in een varaibele zet en de aanpassing doe ik gewoon netjes een array terugkrijg.

<?php
$test='<AfasGetConnector>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="AfasGetConnector">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Debiteuren">
<xs:complexType>
<xs:sequence>
<xs:element name="OrgId" type="xs:string" minOccurs="0"/>
<xs:element name="Bedrijf" type="xs:string" minOccurs="0"/>
<xs:element name="DebiteurID" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<Debiteuren>
<OrgId>12345</OrgId>
<Bedrijf>Jens Bedrijf </Bedrijf>
<DebiteurID>10951</DebiteurID>
</Debiteuren>
<Debiteuren>
<OrgId>12345</OrgId>
<Bedrijf>Guardian</Bedrijf>
<DebiteurID>10898</DebiteurID>
</Debiteuren>
</AfasGetConnector>';
$array = simplexml_load_string($test);
echo '<pre>';
print_r($array);
echo '</pre>';
?>

Output:
SimpleXMLElement Object
(
[Debiteuren] => Array
(
[0] => SimpleXMLElement Object
(
[OrgId] => 12345
[Bedrijf] => Jens Bedrijf
[DebiteurID] => 10951
)

[1] => SimpleXMLElement Object
(
[OrgId] => 12345
[Bedrijf] => Guardian
[DebiteurID] => 10898
)

)

)

Reageren