Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Im XML-Dokument Daten vom Typ integer an einen SERVER senden

Mitglied: PCFJKG

PCFJKG (Level 1) - Jetzt verbinden

01.06.2010, aktualisiert 06.06.2010, 5383 Aufrufe, 9 Kommentare

Mit POST soll an ein SERVER im Internet eine XML-Datei gesendet werden. Diese wird mit dem Kommando print aus ms-access erstellt. und soll im XML-Dokument als Datentyp integer,32 bit gesendet werden.

Eine URL --->https://www.xxx.php" erwartet eine POST-Request Anfrage mit einer definierten XML Struktur.
Beginnend mit

<?xml version="1.0" encoding="utf-8"?>
...
...
soll die Auszeichnung zwischen den Tags

<Beispieltag>123456789</Beispieltag>

als Datentyp integer gesendet werden. Die XML-Datei wird aus MS-Access mit Print #<FileNr> erstellt und damit nach meinem Verständnis in das File als char geschrieben.
Im Internet habe ich nur Beispiele gefunden wie:
...
<xs:element name="Beispieltag" type="xs:integer" />
<Beispieltag>123456789</Beispieltag>
was wohl falsch ist, denn bei der Anzeige der Datei im XML-Editor wird bereits die erste Zeile als Fehler markiert.
Kann denn hier mit eigenen Definitionen in einem Schema (wie als Methode im Internet gelegentlich gelesen) gearbeitet werden, die der SERVER ja nicht kennt und falls doch, wie könnte dies aussehen ?

Im Voraus bereits besten Dank für alle, die einem Frischling für diese sicher für Profis einfache Frage eine Tip geben.

PCFJKG
Mitglied: maretz
01.06.2010 um 07:04 Uhr
Moin,

vorab - ich bin sicher kein XML-Spezialist. Aber XML wird doch normalerweise für den Datenaustausch verwendet - d.h. du hast eine Anwendung die das einliest und dann (in welcher Form auch immer) dem Benutzer zur Verfügung stellt (z.B. ein PHP-Script welches die Daten aus der XML-File liest und das dann als Webseite darstellt).

In dem Fall würde ich die Anwendung so bauen das die weiss das bei "BeispielTag" immer ein Integer ist... Dann noch ne kleine Fehlerbehandlung (falls da mal nen Buchstabe drin ist oder ne <> bei der Übermittlung auf Urlaub gegangen is... - und die Sache is erledigt...
Bitte warten ..
Mitglied: PCFJKG
01.06.2010 um 07:26 Uhr
Hallo Maretz Frühaufsteher,
erst enmal Dank für die schnelle Antwort. Die Anwendung wird leider nicht von mir bereitgestellt (ich kenne ausser der URL keine weiteren Details) . Sie schreibt mir aber genau den Aufbau der XML-Datei (und dabei eben auch den Datentyp integer im vorliegenden fall) vor.

Viele Grüße

PCFJKG
Bitte warten ..
Mitglied: Biber
01.06.2010 um 09:44 Uhr
Moin PCFJKG,

du hast ja die Schema-Beschreibung für "Beispieltag" eröffnet mit "xs:element".
Demnach geht XML Schema und alle, die sich daran halten davon aus, dass "element Beispieltag" ein "komplexes Element" ist.
Da es aber nur ein "simple Type " ist, musst du ein explizites "xs:SimpleType" absetzen.

Also in etwa so:
01.
<xs:element name="Beispieltag" > 
02.
  < xs:simpleType> 
03.
    <base="xs:integer"/> 
04.
</xs:simpleType> 
05.
</xs:element
-oder, wenn du es gar nicht erst als "element" definierst-
01.
 <xs:simpleType name="Beispieltag" > 
02.
    <xs:restriction base="xs:integer"> 
03.
       <xs:minInclusive value="10000"/> 
04.
      <xs:maxInclusive value="42424242"/> 
05.
    </xs:restriction> 
06.
  </xs:simpleType>
... wenn du noch irgendwelche Plausibilitäten einbauen willst

Grüße
Biber

[Edit] im zweiten Beispiel das erste von zwei "xs:maxInclusive"s berichtigt in "xs:MinInclusive". [/Edit]
Bitte warten ..
Mitglied: PCFJKG
01.06.2010 um 13:12 Uhr
Hallo Biber,

auch Dir vielen Dank für Deine rasche Reaktion. Vermutlich habe ich mich mit meiner Aussage, dass im File die Zeile <xs:element name="Beispieltag" type="xs:integer" /> vorkommt zu weit vorgewagt, denn diese ist einfach von einem Internetbeispiel abgeschrieben, ohne dass ich sie verstehe oder an anderer Stelle ein Schema etc. definiert habe (Du setzt damit wahrscheinlich zuviel Wissen bei mir voraus). Ich leite das daraus ab dass ich meinte, einfach Deinen Hinweis ohne weitere Arbeit in ein XML-File übernehmen zu können. Für Dich sicher nicht überraschend: weit gefehlt.

Wenn ich nun ein File habe z-B. test.XML

<?xml version='1.0' encoding='utf-8'?>
<xs:simpleType name="Beispieltag" >
<xs:restriction base="xs:integer">
<xs:maxInclusive value="10000"/>
<xs:maxInclusive value="42424242"/>
</xs:restriction>
</xs:simpleType>

sagt der Editor:


Der Vorgang wurde erfolgreich beendet. Fehler beim Bearbeiten der Ressource 'file:///N:/ElKv/Test2.xml'. Zeile 2, Position...

<xs:simpleType name="Beispieltag" >

Es fehlen sicher Verweise, Deklarationen, Includes o.ä. im File ..(?)

Wenn Du mir noch einmal helfen könntest, würde ich mich sehr freuen.

Viel Grüße



PCFJKG
Bitte warten ..
Mitglied: Biber
01.06.2010 um 13:42 Uhr
Moin PCFJKG,

vergiss das zweite Beispiel wieder... da habe ich unnötiges Komplexität reingebracht und vor allen auch Tippfehler.
Einen habe ich eben gesehen und korrigiert... aber getestet ist ja alles nicht.

Was wesentlich war ist:
  • gib explizit mit an, dass es sich um einen "simpleType" und NICHT um einen "complexType" handelt.

01.
 < xs:simpleType name="Beispieltag" type="xs:integer"/>

... das sollte für ein Integer-"Feld" namens "BeispielTag" ausreichen

Punkt. Absatz.
Aber: Mehrere "Felder" eines "Datensatzes" kann du dann ja in einem ComplexType zusammenfassen.

01.
<xs:element name="MeinDatenImport" type="MeinImportSatz"/> 
02.
 
03.
 
04.
    <xs:complexType name="MeinImportSatz"> 
05.
       <xs:sequence> 
06.
         <xs:element name="MeinTagEins" type="xs:string"/> 
07.
         <xs:element name="DasFeldZwo" type="xs:string"/> 
08.
         <xs:element name="Beispieltag" type="xs:integer"/> 
09.
         <xs:element name="WTF" type="xs:string"/> 
10.
       </xs:sequence> 
11.
    </xs:complexType> 
12.
 

--> Hier kannst du in den inneren Tags auf die Ansage "simpleType" verzichten, da ein "complexType" die "äußere Klammer" um "einfacherere" Elemente bildet.

Grüße
Biber
Bitte warten ..
Mitglied: PCFJKG
01.06.2010 um 14:30 Uhr
Hallo Biber,

schön, wenn einem schnell geholfen wird. Ich habe vor Deiner Zeile im Beispiel

<xs:element name="MeinDatenImport" type="MeinImportSatz"/>

die Zeile eingefügt: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema;>" und Dein Beispiel funktioniert (Licht am Ende des Tunnels, sehr schön)!
Da ich aber gerade eben mit XML beginne ist mir nicht klar, ob die Zeile <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema;>" erforderlich war (und was sie macht), ist aber egal, ich kann jetzt weiter und mit learning by doing habe ich bisher so manche Hürde nehmen können.

Daher: Nochmals danke und schöne grüße


PCFJKG
Bitte warten ..
Mitglied: Biber
01.06.2010 um 15:15 Uhr
Freut mich, PCFJKG,

Zu deiner Frage, was die "xmlns"-Zeile macht und ob sie gebraucht wird, kann ich aus dem Bauch heraus antworten.

"xmlns" steht naheliegenderweise für "XML-Namespace", wobei das wiederum der neudeutsche Slangausdruck für "Namensraum" ist.
Namensräume werden nach dem Schlüsselwort "xmlns": definiert.
Da kannst du natürlich auch angeben "XmlNS:xs="www.mir-doch-egal.de" ....aber die Orientierung an einer "echten" konvention wie die oben stehende ist natürlich erstrebenswerter..
Wenn du einen Namespace angibst, dann müssen die folgenden Anweisungen (Attribute, Elemente...) zwischen <xs:schema> und </xs:Schema>.
Der Namespace ist dann der Tag aller Tags, also Root/Wurzelknoten des .gesamten XML-Dokuments

Grüße
Biber
Bitte warten ..
Mitglied: dog
01.06.2010 um 23:48 Uhr
Irgendwie verstehe ich nicht worauf du hinaus willst.
Der API-Provider, dessen API du benutzen willst hat doch sicher ganz klare Angaben dazu gemacht wie eine XML-Datei strukturiert sein muss.
Und auch ganz genau danach werden die meisten Parser (bei PHP meistens SimpleXML) auch nur suchen.
Du kannst nicht einfach selbst irgendwelche Tags definieren...

Und zu Integer/Char:
Einen wirklichen Integer gibt es bei XML nicht, da es lediglich aus Buchstaben besteht (und zum Verständnis: "123" sind 3 Buchstaben und nicht eine Zahl, die wäre hier erst gar nicht sichtbar).
Würde man echte Zahlen einbauen wollen müsste man die erst durch base64 jagen.

Mal ein konkretes Beispiel:
01.
<?xml version="1.0" encoding="UTF-8"?> 
02.
<root> 
03.
	<item>123</item> 
04.
</root>
Die 123 sind ein String. Er besteht aus den 3 Buchstaben 1, 2 und 3.

01.
<?xml version="1.0" encoding="UTF-8"?> 
02.
<root> 
03.
	<item>{</item> 
04.
</root>
Hier sind die 123 ein Integer. Das hat den lustigen Nebeneffekt, dass es in XML aussieht wie {...
Bitte warten ..
Mitglied: PCFJKG
02.06.2010 um 04:53 Uhr
Hallo Dog,

auch Dir vielen Dank für Deine Antwort. Ich habe tatsächlich das Problem, dass mir der Unterscheid char / int in XML nicht klar ist. Wo ich "herkomme" (früher ein wenig C++ und seit einiger Zeit zunehmend mit MS-Access) sind Datentypen klar definiert, haben unterschiedlichen Speicherbedarf etc. In XML sieht tatsächlich alles aus wie ein String (bzw. mehrere).
Der Provider schreibt tatsäch klar die Struktur der Datei vor, will aber in einigen Tags die zu übertragenden Werte in char, int, auch float kommt vor etc. Und hier kommt mein Verständnisproblem:

Wenn alles alphanumerisch dargestellt wird (wie es ja im XML-Editor letztlích auch sichtbar ist), wozu wird dann ein Schema verwendet und:
wie soll der Provider z.B. die Zahl 123 als int, oder z.B. 5,896 als float erhalten ?

Grüße

PCFJKG
Bitte warten ..
Ähnliche Inhalte
Datenbanken

Archivierungslösung für Dokumente und Daten

Frage von Trackmaster1303Datenbanken4 Kommentare

Hallo zusammen, ich hoffe es passt zu dem Thema Welche Erfahrung habt ihr mit Archivierungslösungen? Welche nutzt ihr bzw. ...

Webentwicklung

Angular Daten an localhost senden

Frage von tobmesWebentwicklung1 Kommentar

Hi Experten, ich befasse mich gerade etwas mit AngularJS und habe jetzt ein kleines Problem mit dem absenden von ...

Router & Routing

Fritzbox alle Daten durch einenVPN Tunnel senden

Frage von shumbaRouter & Routing7 Kommentare

Hallo Leute, ist es möglich, sämtlichen Traffic durch einen VPN Tunnel zu senden, der zwischen einer Juniper SRX und ...

Microsoft Office

Access 2013 - Daten an Word-Dokument übergeben und drucken

Frage von evolutionMicrosoft Office8 Kommentare

Hallo, ich habe eine Frage zu Access 2013. Ist es möglich aus Access heraus einen Druckauftrag eines Word-Dokuments anzustoßen ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 10 StundenHumor (lol)3 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 22 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 23 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server45 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware16 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...