Avatar billede nicocarlos Nybegynder
08. marts 2008 - 20:37 Der er 25 kommentarer og
1 løsning

SimpleXML Fatal Error problem med string

Hejsa.

Får følgende fejl:
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML'

Koden er:

$xmlFileData = file_get_contents("http://www.google.com/xml/test.xml");

$xmlData = new SimpleXMLElement($xmlFileData);

XML:
<Companies>
  <Car Name="Toyota">
    <Segments>
      <Segment ID="Avensis">
        <price>1650000</price>
        <Region>Denmark</Region>
      </Segment>
      <Segment ID="Avensis2">
        <Price>300600</Price>
        <Region>Germany</Region>
      </Segment>
    </Segments>
  </Car>
</Companies>

Kan det være noget med serveren eller hvad er der galt, det virkede for 2 dage siden og nu opstår der bare fejl.

på forhånd tak
Avatar billede nielle Nybegynder
08. marts 2008 - 20:48 #1
Måske mangler der bare en XML-header?

<?xml version="1.0" encoding="utf-8" ?>
<Companies>
    <Car Name="Toyota">
        <Segments>
            <Segment ID="Avensis">
                <price>1650000</price>
                <Region>Denmark</Region>
            </Segment>
            <Segment ID="Avensis2">
                <Price>300600</Price>
                <Region>Germany</Region>
            </Segment>
        </Segments>
    </Car>
</Companies>
Avatar billede nicocarlos Nybegynder
08. marts 2008 - 20:55 #2
<?xml version="1.0" encoding="iso-8859-1"?>

Har jeg i toppen, kan det skyldes det? - forstår det bare ikke for det virkede den anden dag.
Avatar billede nicocarlos Nybegynder
08. marts 2008 - 21:31 #3
Har prøvet at ændre det, det hjalp ikke.
Avatar billede nielle Nybegynder
08. marts 2008 - 21:32 #4
Uhm, jeg får altså en 404 fejl hvis jeg besøger urlet:

http://www.google.com/xml/test.xml
Avatar billede nicocarlos Nybegynder
08. marts 2008 - 21:37 #5
Ja det er også bare et eksempel, jeg har bare pastet xml dokumentet.
Avatar billede nicocarlos Nybegynder
08. marts 2008 - 21:40 #6
Kan det skyldes at min webhost, har skiftet mig fra php 5 til php 4 eller sådan noget. Jeg har lige testet det på et andet webhotel og der virker det.
Avatar billede nielle Nybegynder
08. marts 2008 - 22:02 #7
Jeg har godt nok aldrig nogensinde hørt om at nogen skulle finde på at downgrade PHP.

Desuden ville fejlen i det tilfælde mere være noget i stil med at SimpleXMLElement slet ikke findes som funktion.


... jeg har bare pastet xml dokumentet >

Kunne du så ikke vise den rigtige kode?
Avatar billede nicocarlos Nybegynder
08. marts 2008 - 22:08 #8
Så har du aldrig haft webhotel hos surftown. De kan åbenbart finde på hvad som helst :D

Jeg har vist den rigtige kode, du behøver ikke mere end et tilfældigt XML dokument og så koden:

$xmlFileData = file_get_contents("tilfældigt.xml");
$xmlData = new SimpleXMLElement($xmlFileData);
print_r($xmlData);

Så kommer fejlen.

Jeg har testet det på et andet webhotel, one.com og der virker det fint. Og det virkede også fint for et par dage siden, så jeg tror måske der er et eller andet galt på surftown.

har også kontaktet dem.
Avatar billede nicocarlos Nybegynder
08. marts 2008 - 22:12 #9
Det er jo også rimlig underligt at gå fra at virke til ikke at virke, når der ikke er lavet nogle ændringer i koden :D
Avatar billede nielle Nybegynder
08. marts 2008 - 22:15 #10
Tja, men hvis det var en nedgradering som havde skylden burde fejlen som sagt være en helt anden.

Men det lyder unægtelæig som om at det har en fejl i deres installation. :^|
Avatar billede nielle Nybegynder
08. marts 2008 - 22:16 #11
Får du forresten også fejlen hvis du skriver XML'em direkte i strengen i stedet for at læse den fra en fil?
Avatar billede nicocarlos Nybegynder
08. marts 2008 - 22:45 #12
hvordan vil du skrive den direkte i strengen, bare istedet for tilfældigt.xml?
Avatar billede nielle Nybegynder
08. marts 2008 - 22:49 #13
$xmlFileData = '<?xml version="1.0" encoding="utf-8" ?>
<Companies>
    <Car Name="Toyota">
        <Segments>
            <Segment ID="Avensis">
                <price>1650000</price>
                <Region>Denmark</Region>
            </Segment>
            <Segment ID="Avensis2">
                <Price>300600</Price>
                <Region>Germany</Region>
            </Segment>
        </Segments>
    </Car>
</Companies>';
Avatar billede nielle Nybegynder
08. marts 2008 - 22:50 #14
... eller:

$xmlFileData = <<<EOM
<?xml version="1.0" encoding="utf-8" ?>
<Companies>
    <Car Name="Toyota">
        <Segments>
            <Segment ID="Avensis">
                <price>1650000</price>
                <Region>Denmark</Region>
            </Segment>
            <Segment ID="Avensis2">
                <Price>300600</Price>
                <Region>Germany</Region>
            </Segment>
        </Segments>
    </Car>
</Companies>
EOM;
Avatar billede nicocarlos Nybegynder
08. marts 2008 - 23:10 #15
Det kan den godt :/
Avatar billede nicocarlos Nybegynder
08. marts 2008 - 23:10 #16
Det giver jo ingen mening :D
Avatar billede nielle Nybegynder
08. marts 2008 - 23:13 #17
Jo, det giver massere af mening - du er sikkert løbet ind i en BOM fejl:

http://www.opentag.com/xfaq_enc.htm
Avatar billede nicocarlos Nybegynder
08. marts 2008 - 23:27 #18
Hvordan kan jeg så løse det problem? og hvordan kan det opstå lige pludselig når intet er ændret, det var virket godt i flere uger.
Avatar billede nielle Nybegynder
09. marts 2008 - 07:43 #19
Det har noget med hvordan du opretter filerne - det er din editor som sætter BOM tegnet hvis det er der.

Hvorfor at det er opstået nu kan vel godt forklares ved at surftown evt. kan have installeret en mindre opdatering til deres miljø.
Avatar billede nicocarlos Nybegynder
09. marts 2008 - 11:07 #20
Kan ikke få Rainbow til at løre og den anden metode der er nævnt ser ikke ud til at virke. Kan du forklare hvordan jeg gør?
Avatar billede nielle Nybegynder
09. marts 2008 - 11:39 #21
Nu henviste jeg egentlig kun til linket for at forklare hvad BOM var for noget. Jeg kender ikke personligt Rainbow. Personligt ville jeg nok bare vælge at bruge Notepad.

Men er det da XML fil du selv har lavet eller er den en fil som ligger på et andet site?
Avatar billede nicocarlos Nybegynder
10. marts 2008 - 08:57 #22
Det er en jeg selv har lavet. Jeg har fuld adgang til den
Avatar billede nicocarlos Nybegynder
10. marts 2008 - 09:10 #23
Det virker igen nu :/ Det må have været noget med webhotellet så.
Avatar billede nielle Nybegynder
24. marts 2008 - 22:35 #24
Så er det vel lukketid?
Avatar billede nicocarlos Nybegynder
28. marts 2008 - 00:44 #25
Ja tak smid et svar, har lige været væk et stykke tid.
Avatar billede nielle Nybegynder
28. marts 2008 - 06:48 #26
Svar :^)
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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