Ankündigung

Einklappen
Keine Ankündigung bisher.

Php, soap & xml

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Php, soap & xml

    Hallo zusammen,

    ich habe momentan vor, mithilfe eines Soap-Clients auf einen Webservice zuzugreifen.

    Der Zugriff funktioniert auch schon, allerdings weiß ich nicht, wie ich mit der Response umzugehen habe.

    Wenn ich einen var_dump von der Response mache, erhalte ich folgendes Ergebnis:

    object(stdClass)#2 (1) { ["foobar"]=> object(stdClass)#3 (1) { ["any"]=> string(8667) "1AAAA3BBB ...

    Wenn ich mir den Quelltext angucke, kommt folgendes:

    <xs:schema xmlns:mstns="http://***/***.xsd" xmlns="http://***/***.xsd" xmlnss="http://www.w3.org/2001/XMLSchema" usw.

    Die Datensätze werden folgenderweise innerhalb des Quelltextes abgespeichert:

    <TB_Make diffgr:id="TB_Make2" msdata:rowOrder="1" diffgr:hasChanges="inserted"><Make_ID>3</Make_ID><Make_Name>BBB</Make_Name></TB_Make>

    Ich stehe gerade vor dem Problem, dass ich die Daten aus dem String auslesen muss und am besten in einem Array abspeicher.

    Kann mir irgendjemand wohl bei diesem Problem helfen bzw. war alles soweit verständlich, dass man mir helfen kann?


    Mit freundlichem Gruß


  • #2
    Google: simplexml_load_string
    You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

    Kommentar


    • #3
      Das ist alles XML. Also XML-Funktionen verwenden.
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Zitat von chorn Beitrag anzeigen
        Google: simplexml_load_string
        danke schonmal für die schnellen antworten, aber genauso hatte ich es schon versucht.

        wenn ich nen echo mache, bekomme ich gar nix ausgegeben - wenn ich nen var_dump mache, bekomme ich nur false ausgegeben

        wenn ich das dann als xml was auch immer hab, kann ich dann darüber iterieren und immer den aktuellen wert in nen array schreiben??

        Kommentar


        • #5
          Ja, aber das ist nicht nötig. Ich rate zu DOMXml
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            Wenn du nur FALSE rausbekommst ist das XML möglicherweise ungültig. Hast du das mal validieren lassen?
            You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

            Kommentar


            • #7
              Zitat von chorn Beitrag anzeigen
              Wenn du nur FALSE rausbekommst ist das XML möglicherweise ungültig. Hast du das mal validieren lassen?
              Code:
              <xs:schema xmlns:mstns="http://AuDaCon.local/DsMakeList.xsd"
              	xmlns="http://AuDaCon.local/DsMakeList.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"
              	xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="DsMakeList"
              	targetNamespace="http://AuDaCon.local/DsMakeList.xsd"
              	attributeFormDefault="qualified" elementFormDefault="qualified">
              	<xs:element name="DsMakeList" msdata:IsDataSet="true"
              		msdata:Locale="en-US">
              		<xs:complexType>
              			<xs:choice minOccurs="0" maxOccurs="unbounded">
              				<xs:element name="TB_Make">
              					<xs:complexType>
              						<xs:sequence>
              							<xs:element name="Make_ID" type="xs:int" />
              							<xs:element name="Make_Name" type="xs:string" />
              						</xs:sequence>
              					</xs:complexType>
              				</xs:element>
              			</xs:choice>
              		</xs:complexType>
              		<xs:unique name="DsMakeListKey1" msdata:PrimaryKey="true">
              			<xs:selector xpath=".//mstns:TB_Make" />
              			<xs:field xpath="mstns:Make_ID" />
              		</xs:unique>
              	</xs:element>
              </xs:schema>
              <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
              	xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
              	<DsMakeList xmlns="http://AuDaCon.local/DsMakeList.xsd">
              		<TB_Make diffgr:id="TB_Make1" msdata:rowOrder="0"
              			diffgr:hasChanges="inserted">
              			<Make_ID>1</Make_ID>
              			<Make_Name>ALFA ROMEO</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make2" msdata:rowOrder="1"
              			diffgr:hasChanges="inserted">
              			<Make_ID>3</Make_ID>
              			<Make_Name>AUDI</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make3" msdata:rowOrder="2"
              			diffgr:hasChanges="inserted">
              			<Make_ID>6</Make_ID>
              			<Make_Name>BMW</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make4" msdata:rowOrder="3"
              			diffgr:hasChanges="inserted">
              			<Make_ID>49</Make_ID>
              			<Make_Name>CHEVROLET</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make5" msdata:rowOrder="4"
              			diffgr:hasChanges="inserted">
              			<Make_ID>7</Make_ID>
              			<Make_Name>CHRYSLER</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make6" msdata:rowOrder="5"
              			diffgr:hasChanges="inserted">
              			<Make_ID>8</Make_ID>
              			<Make_Name>CITROËN</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make7" msdata:rowOrder="6"
              			diffgr:hasChanges="inserted">
              			<Make_ID>50</Make_ID>
              			<Make_Name>DACIA</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make8" msdata:rowOrder="7"
              			diffgr:hasChanges="inserted">
              			<Make_ID>57</Make_ID>
              			<Make_Name>DAEWOO</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make9" msdata:rowOrder="8"
              			diffgr:hasChanges="inserted">
              			<Make_ID>10</Make_ID>
              			<Make_Name>DAIHATSU</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make10" msdata:rowOrder="9"
              			diffgr:hasChanges="inserted">
              			<Make_ID>11</Make_ID>
              			<Make_Name>DAIMLER</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make11" msdata:rowOrder="10"
              			diffgr:hasChanges="inserted">
              			<Make_ID>12</Make_ID>
              			<Make_Name>DODGE</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make12" msdata:rowOrder="11"
              			diffgr:hasChanges="inserted">
              			<Make_ID>13</Make_ID>
              			<Make_Name>FIAT</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make13" msdata:rowOrder="12"
              			diffgr:hasChanges="inserted">
              			<Make_ID>14</Make_ID>
              			<Make_Name>FORD</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make14" msdata:rowOrder="13"
              			diffgr:hasChanges="inserted">
              			<Make_ID>80</Make_ID>
              			<Make_Name>FORD USA</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make15" msdata:rowOrder="14"
              			diffgr:hasChanges="inserted">
              			<Make_ID>16</Make_ID>
              			<Make_Name>HONDA</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make16" msdata:rowOrder="15"
              			diffgr:hasChanges="inserted">
              			<Make_ID>55</Make_ID>
              			<Make_Name>HYUNDAI</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make17" msdata:rowOrder="16"
              			diffgr:hasChanges="inserted">
              			<Make_ID>147</Make_ID>
              			<Make_Name>IRMSCHER</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make18" msdata:rowOrder="17"
              			diffgr:hasChanges="inserted">
              			<Make_ID>18</Make_ID>
              			<Make_Name>ISUZU</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make19" msdata:rowOrder="18"
              			diffgr:hasChanges="inserted">
              			<Make_ID>232</Make_ID>
              			<Make_Name>IVECO</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make20" msdata:rowOrder="19"
              			diffgr:hasChanges="inserted">
              			<Make_ID>19</Make_ID>
              			<Make_Name>JAGUAR</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make21" msdata:rowOrder="20"
              			diffgr:hasChanges="inserted">
              			<Make_ID>110</Make_ID>
              			<Make_Name>JEEP</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make22" msdata:rowOrder="21"
              			diffgr:hasChanges="inserted">
              			<Make_ID>56</Make_ID>
              			<Make_Name>KIA</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make23" msdata:rowOrder="22"
              			diffgr:hasChanges="inserted">
              			<Make_ID>20</Make_ID>
              			<Make_Name>LADA</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make24" msdata:rowOrder="23"
              			diffgr:hasChanges="inserted">
              			<Make_ID>21</Make_ID>
              			<Make_Name>LANCIA</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make25" msdata:rowOrder="24"
              			diffgr:hasChanges="inserted">
              			<Make_ID>201</Make_ID>
              			<Make_Name>LAND ROVER</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make26" msdata:rowOrder="25"
              			diffgr:hasChanges="inserted">
              			<Make_ID>120</Make_ID>
              			<Make_Name>LDV</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make27" msdata:rowOrder="26"
              			diffgr:hasChanges="inserted">
              			<Make_ID>100</Make_ID>
              			<Make_Name>LEXUS</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make28" msdata:rowOrder="27"
              			diffgr:hasChanges="inserted">
              			<Make_ID>86</Make_ID>
              			<Make_Name>LOTUS</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make29" msdata:rowOrder="28"
              			diffgr:hasChanges="inserted">
              			<Make_ID>203</Make_ID>
              			<Make_Name>MAYBACH</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make30" msdata:rowOrder="29"
              			diffgr:hasChanges="inserted">
              			<Make_ID>22</Make_ID>
              			<Make_Name>MAZDA</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make31" msdata:rowOrder="30"
              			diffgr:hasChanges="inserted">
              			<Make_ID>23</Make_ID>
              			<Make_Name>MERCEDES-BENZ</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make32" msdata:rowOrder="31"
              			diffgr:hasChanges="inserted">
              			<Make_ID>24</Make_ID>
              			<Make_Name>MG</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make33" msdata:rowOrder="32"
              			diffgr:hasChanges="inserted">
              			<Make_ID>162</Make_ID>
              			<Make_Name>MINI</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make34" msdata:rowOrder="33"
              			diffgr:hasChanges="inserted">
              			<Make_ID>25</Make_ID>
              			<Make_Name>MITSUBISHI</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make35" msdata:rowOrder="34"
              			diffgr:hasChanges="inserted">
              			<Make_ID>27</Make_ID>
              			<Make_Name>NISSAN</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make36" msdata:rowOrder="35"
              			diffgr:hasChanges="inserted">
              			<Make_ID>29</Make_ID>
              			<Make_Name>OPEL</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make37" msdata:rowOrder="36"
              			diffgr:hasChanges="inserted">
              			<Make_ID>30</Make_ID>
              			<Make_Name>PEUGEOT</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make38" msdata:rowOrder="37"
              			diffgr:hasChanges="inserted">
              			<Make_ID>78</Make_ID>
              			<Make_Name>PONTIAC</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make39" msdata:rowOrder="38"
              			diffgr:hasChanges="inserted">
              			<Make_ID>31</Make_ID>
              			<Make_Name>PORSCHE</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make40" msdata:rowOrder="39"
              			diffgr:hasChanges="inserted">
              			<Make_ID>81</Make_ID>
              			<Make_Name>PROTON</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make41" msdata:rowOrder="40"
              			diffgr:hasChanges="inserted">
              			<Make_ID>199</Make_ID>
              			<Make_Name>PUCH</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make42" msdata:rowOrder="41"
              			diffgr:hasChanges="inserted">
              			<Make_ID>32</Make_ID>
              			<Make_Name>RENAULT</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make43" msdata:rowOrder="42"
              			diffgr:hasChanges="inserted">
              			<Make_ID>33</Make_ID>
              			<Make_Name>ROVER</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make44" msdata:rowOrder="43"
              			diffgr:hasChanges="inserted">
              			<Make_ID>34</Make_ID>
              			<Make_Name>SAAB</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make45" msdata:rowOrder="44"
              			diffgr:hasChanges="inserted">
              			<Make_ID>35</Make_ID>
              			<Make_Name>SEAT</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make46" msdata:rowOrder="45"
              			diffgr:hasChanges="inserted">
              			<Make_ID>37</Make_ID>
              			<Make_Name>SKODA</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make47" msdata:rowOrder="46"
              			diffgr:hasChanges="inserted">
              			<Make_ID>114</Make_ID>
              			<Make_Name>SMART</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make48" msdata:rowOrder="47"
              			diffgr:hasChanges="inserted">
              			<Make_ID>51</Make_ID>
              			<Make_Name>SSANGYONG</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make49" msdata:rowOrder="48"
              			diffgr:hasChanges="inserted">
              			<Make_ID>38</Make_ID>
              			<Make_Name>SUBARU</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make50" msdata:rowOrder="49"
              			diffgr:hasChanges="inserted">
              			<Make_ID>39</Make_ID>
              			<Make_Name>SUZUKI</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make51" msdata:rowOrder="50"
              			diffgr:hasChanges="inserted">
              			<Make_ID>41</Make_ID>
              			<Make_Name>TOYOTA</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make52" msdata:rowOrder="51"
              			diffgr:hasChanges="inserted">
              			<Make_ID>43</Make_ID>
              			<Make_Name>VAUXHALL</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make53" msdata:rowOrder="52"
              			diffgr:hasChanges="inserted">
              			<Make_ID>44</Make_ID>
              			<Make_Name>VOLVO</Make_Name>
              		</TB_Make>
              		<TB_Make diffgr:id="TB_Make54" msdata:rowOrder="53"
              			diffgr:hasChanges="inserted">
              			<Make_ID>45</Make_ID>
              			<Make_Name>VW</Make_Name>
              		</TB_Make>
              	</DsMakeList>
              </diffgr:diffgram>
              ein xml-validator gibt mir folgendes aus:

              Errors in the XML document:
              1: 861 The markup in the document following the root element must be well-formed.

              ich kenn mich leider mit xml überhaupt nicht aus..

              Kommentar


              • #8
                Das "Ding" wirst du mit SimpleXML nicht geöffnet kriegen, es enthält 2 Root-Tags ( diffgr & xs ) und keinen xml-tag in dem das festgelegt ist
                [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                Kommentar


                • #9
                  Zitat von kodinger Beitrag anzeigen
                  ich kenn mich leider mit xml überhaupt nicht aus..
                  Na dann besorg dir erst mal Grundlagenwissen dazu.

                  Kommentar


                  • #10
                    Dann können wir an dieser Stelle ja die Diskussion beenden.
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar

                    Lädt...
                    X