Versio

SimpleXML vraag

Overzicht Reageren

Malick heuvel

malick heuvel

04/08/2009 19:56:00
Quote Anchor link
Hoi allen in phphulp,

Ik probeer te iterate over xml files met simplexml een voorbeeld xml file ziet er bv:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php

$rawXml
= "[code]<?xml version='1.0'?>

<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  <xs:element name='A'>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='item'>
          <xs:complexType>
            <xs:sequence>
              <xs:element name='1' type='xs:string'/>
              <xs:element name='2' type='xs:string'/>
              <xs:element name='3' type='xs:string'/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name='B'>
          <xs:complexType>
            <xs:sequence>
              <xs:element name='1' type='xs:string'/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

         ^
zo uit  |  

Ik krijg <xs:element name='1' type='xs:string'/> helaas niet te pakken

$xml = new SimpleXMLElement($rawXml);

$namespaces = $xml->getNamespaces();
$namespace = $namespaces['xs'];

$children = $xml->children($namespace);

var_dump($children);

$element = $children[0];
    
if (isset($children[1])){
$element2 = $children[1];
$elementAttributes2 = $element2->attributes();
$elementName2 = $elementAttributes2['name'];
$elementName2 = $elementAttributes['name'];


echo $elementName2 .'<br />';

foreach ($element2->complexType->sequence->children($namespace) as  $child){
echo 'NODE: ' . ($child->attributes()->name) .' TYPE: '.  $child->attributes()->type . '<br />';
}

}



$elementAttributes = $element->attributes();
$elementName = $elementAttributes['name'];

echo $elementName .'<br />';

foreach ($element->complexType->sequence->children($namespace) as  $child){
echo 'NODE: ' . ($child->attributes()->name) .' TYPE: '.  $child->attributes()->type . '<br />';
}
&lt;xs:complexType&gt;  &lt;xs:sequence&gt; &lt;xs:element name=&quot;item&quot;&gt;   &lt;xs:complexType&gt;    &lt;xs:sequence&gt;
&lt;/xs:element&gt; &lt;xs:element name=&quot;commanditem&quot;&gt; &lt;xs:complexType&gt;  &lt;xs:sequence&gt; &lt;xs:element name=&quot;command&quot; type=&quot;xs:string&quot;/&gt;
            &lt;/xs:sequence&gt;
          &lt;/xs:complexType&gt;
Gewijzigd op 01/01/1970 01:00:00 door Malick heuvel
 
PHP hulp

PHP hulp

25/05/2012 15:48:25
Gesponsorde koppelingen:
 
Jan Koehoorn

Jan Koehoorn

04/08/2009 20:20:00
Quote Anchor link
En wat is precies het probleem?
 



Overzicht Reageren