PHP & XML

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ruliezz

ruliezz

17/03/2009 13:35:00
Quote Anchor link
Hallo Programmeurs,

Ik loop nu stage bij een stichting die AFAS PROFIT als ERP systeem gebruiken.
Uit dit systeem kun je gegevens halen d.m.v. de Getconnector van het programma. Deze Getconnector kun je aanroepen d.m.v. php (php.net/com).

De Getconnector spuigt dan XML. Ik heb in mijn script het zo gemaakt dat hij dit XML opslaat als een XML bestand. Alles werkt perfect, ik heb ook diverse XML bestanden uit het systeem Profit kunnen halen. Alleen nu heb ik 1 XML (Getconnector) die probleem geeft en deze foutmelding op het scherm post:

Warning: simplexml_load_file() [function.simplexml-load-file]: xml/OrgPersoon.xml:1: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xEB 0x6C 0x20 0x56 in C:\xampp\htdocs\test\test.php on line 130

Warning: simplexml_load_file() [function.simplexml-load-file]: ganisaties_Personen><Organisatie_Persoon>1000322</Organisatie_Persoon><Naam>Dani in C:\xampp\htdocs\test\test.php on line 130

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in C:\xampp\htdocs\test\test.php on line 130

Mijn PHP code voor het inlezen van XML bestand is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
    $s
    = simplexml_load_file("xml/" . $bestanden);
                    
                // We gooien de tabel in de database eerst leeg
                $leeg_tabel = "TRUNCATE TABLE Org_Persoon";
                $info        = mysql_query($leeg_tabel);
                
                foreach ($s->Organisaties_Personen as $value)
                {

                     $insert_query     = "INSERT INTO Org_Persoon (Organisatie_Persoon,Naam)
                     VALUES ('"
. $value->Organisatie . "','" . addslashes($value->Naam) . "')";
                     $info_query = mysql_query($insert_query) or die(mysql_error());
                }

?>


* dit is een onderdeel van het totale script.

Ik al op de foutcodens gegoogled alleen kom ik er gewoon simpel weg niet uit.

Enige idee? Het vreemde is dat de andere XML files wel gewoon goed worden uitgelezen met de zelfde code.

Thanks voor je hulp alvast :D

Ruliezz
 
PHP hulp

PHP hulp

22/12/2024 11:17:16
 
Arjan Kapteijn

Arjan Kapteijn

17/03/2009 13:45:00
Quote Anchor link
Hoe ziet die xml eruit? Die error geeft aan dat de inhoud van die XML niet helemaal klopt.
 
Ruliezz

ruliezz

17/03/2009 13:48:00
Quote Anchor link
Uhmm... hij heeft hem niet lekker weer...


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php

<AfasGetConnector>
&
#8722;
<xs:schema>
&
#8722;
<xs:element name="AfasGetConnector">
&
#8722;
<xs:complexType>
&
#8722;
<xs:choice maxOccurs="unbounded">
&
#8722;
<xs:element name="Organisaties_Personen">
&
#8722;
<xs:complexType>
&
#8722;
<xs:sequence>
<
xs:element name="Organisatie_Persoon" type="xs:string" minOccurs="0"/>
<
xs:element name="Naam" type="xs:string" minOccurs="0"/>
<
/xs:sequence>
<
/xs:complexType>
<
/xs:element>
<
/xs:choice>
<
/xs:complexType>
<
/xs:element>
<
/xs:schema>
<
Organisaties_Personen>
<
Organisatie_Persoon>1000002</Organisatie_Persoon>
<
Naam>bedrijfsnaam</Naam>
<
/Organisaties_Personen>
<
/AfasGetConnector>
?>
Gewijzigd op 01/01/1970 01:00:00 door ruliezz
 
Arjan Kapteijn

Arjan Kapteijn

17/03/2009 13:54:00
Quote Anchor link
Je XML klopt dus niet, die &#8722; is volgens mij de HTML code voor een streepje ofzo. Zorg er eerst eens voor dat je XML klopt.
 
Ruliezz

ruliezz

17/03/2009 13:59:00
Quote Anchor link
< xs : schema >

Dat is de code die hij niet wil weergeven. (maar dan aan elkaar)

Aan de XML code kan ik zelf niet zo veel veranderen. Dit doet het programma.
De style van het document is MS XML. Dit zou ik wel kunnen weergeven als gewoon XML maar er werd aangeraden om XML MS te gebruiken.
 
Arjan Kapteijn

Arjan Kapteijn

17/03/2009 14:09:00
Quote Anchor link
Je slaat de XML toch op? Dan kun je toch ook die &#8722; eruit halen en er vervolgens voor zorgen dat het correct XML word?
 
Ruliezz

ruliezz

17/03/2009 14:59:00
Quote Anchor link
Op phphulp.nl geeft ie zo rare code weer.. maar in het script: < xs : schema > maar dan aan elkaar. Vreemd is ook dat de andere XML scripts (op de exacte wijze en met de zelfde PHP script wel werken... :S)


Vaag probleem....
 
Ruliezz

ruliezz

18/03/2009 10:01:00
Quote Anchor link
Probleem is opgelost! AFAS PROFIT geneeert een zeeeeer oud w3 XML Schema uit 2001. Dit heb ik veranderd naar http://www.w3.org/XML/Schema en het probleem is opgelost. Lag dus aan AFAS PROFIT :S

In iedergeval bedankt voor je hulp!
 
Ruliezz

ruliezz

18/03/2009 16:20:00
Quote Anchor link
Strange!!! het probleem zit hem in handmatig opslaan. Als ik het xml bestand nogmaals handmatig opsla dan kan hij er wel mee werken. Laat ik hem gewoon door fopen en fwrite opslaan dan geeft het problemen. Hoe los je dit op??

Ik heb nog even verder gezocht op internet. Dreamweaver slaat het bestand speciaal op. Je kunt dit lezen op http://www.adobe.com/support/documentation/en/dreamweaver/mx2004/dwusing_errata/dwusing_errata2.html.

Maar hoe zorgen we er voor dat PHP dit doet met fopen?
Gewijzigd op 01/01/1970 01:00:00 door ruliezz
 
Ruliezz

ruliezz

18/03/2009 16:53:00
Quote Anchor link
Probleem is opgelost, na wat door ploetteren en door zoeken kwam ik er achter dat er een function bestaat die het bestand goed opslaat namelijk: utf8_encode()
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.