Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP SERVER_client

Empfohlene Antworten

Hallo,

ich bin noch Anfänger und hoffe deshalb sehr auf eure Unterstützung.

Ich habe folgende Situation:

1) es gibt einen Server (so eine Art großes Telefonbuch mit einer EIngabezeile) auf dem man über verschiedene Parameter eine Person suchen kann. (z.b Name oder Nummer...)

Ich soll einen Client bauen mit dem man diesen Server abfragen kann.

2) Ergebnis ist eine XML-Ausgabe, die man mit XML-Schema parsen muss.

Mein Code bis jetzt:

<?php

header('Content-type: text/xml');

$request = "https://https://telefonbuch.de/telefonbuch/gumb/xml/such?username=Nutzer&password=123456&Suchparameter=Begriff";

$request .= $_SERVER[argv][1] . "=" . $_SERVER[argv][2];

$fp = fsockopen('https://telefonbuch.de', 443);

fputs($fp, $request);

while(!feof($fp)) {

$res .= fgets($fp, 512);

}

fclose($fp);

echo $res;

$str = explode("\r\n", $res);

$echo = false;

$myStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";

foreach($str as $entry){

if($entry == '<?xml version="1.0" encoding="UTF-8"?>') {

// start printing

$echo = true;

$myStr .= '<response success="true">';

} else {

if($echo){

$myStr .= trim($entry);

}

}

}

if($_SERVER['argv'][1] == 'nummer'){

$tmpoutput = explode("<name>", $myStr);

$output = explode("</name>", $tmpoutput[1]);

} else if($_SERVER['argv'][1] == 'name'){

$tmpoutput = explode("<nummer>", $myStr);

$output = explode("</nummer>", $tmpoutput[1]);

}

geht das vllt anders? oder einfacher?

hi, danke für die schnelle antwort,

aber könntest du es vllt. etwas näher erläutern, das mit dem parsen.

brauch ich dann 3 dateien: test.xml (XML datei ) , test.xsd ( XML schema) und test.php ( ? ) ?

was muss in der test.php stehen?

bes jetzt sieht sie so aus:

$dom = new DOMDocument ();

$dom->load ('test.xml);

if ($dom->schemaValidate ('test.xsd')) {

echo test.xml.' is valid.'."\n";

} else {

echo $file.' is NOT valid.'."\n";

}

und das krieg ich zurück : Class 'DOMDocument' not found in...

hmm, was meinst du denn?

habe PHP Version 5.3.1

was soll man da aktivieren?

Auf was für einem System und wie hast du PHP installiert?

Normalerweise kann man die Erweiterungen via php.ini (de-)aktvieren. Findest du in der Ausgab php_info() einen XML-Abschnitt?

ja , den gibts da.

XML Support active

XML Namespace Support active

libxml2 Version 2.7.6

Guten morgen,

kennt sich jemand mit xml-parser aus?

jap, bekomme jetzt eine antwort ( xml )

muss diese i-wie parsen und in db speichern.

hab aber davon nicht wirklich ahnung, weiß halt dass man dann ein array bekommt den man verarbeiten kann.

mfg. dela

Willst du die Daten aus einem Baum auslesen (DOM), nach Werten suchen (XPath) oder auf bestimmte Elemente reagieren (SAX)?

Kannst du deinen Anwendungsfall ausführliche formulieren und ggf. beispielhaftes XML posten und sagen, welche Daten du willst?

so in etwas sieht die antwort aus:

<?xml version="1.0" encoding="UTF-8"?>

<result-set start="0"length="100">

<employee name="Test" additional-name="" title="" initials="472874257" id

<working-relationship line-manager-id="12346789" firma="KKK" telephone="012548795" email="test@test.de" employee-type="">

<line-manager lastname="" firstname="" id="">

</line-manager>

</working-relationship>

</employee>

</result-set>

das was in den "" steht. ( steht normalerweise überall etwas )

zB. wird es eine spalte "name" geben mit dem wert "test"

und soweit ich weiß muss man die xml datei parsen um mit dem wert test arbeiten zu können oder etwas nicht?

Spalte ist mir nicht bekanntes Konzept in XML-Dateien. In Anführungsstrichen stehen Attributwerte. Du kannst dir einen XPath Ausdruck bauen (in etwa "//@*"), der dir alle Attribute in der Datei liefert, oder für bestimmte Elemente.

Du kannst dir einen DOM-Baum zu deinem XML erzeugen und dir die Attribute zu jedem Element ausgeben lassen. Damit kannst du dann die Daten, die im XML enthalten sind in deinem Geschäftslogik-Objekte übertragen.

spalte war auch auf einen datenbankeintrag bezogen,

vielen dank für alles.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.