Site Announcements

Liebe Gäste des Forums, wir freuen uns, dass ihr zu uns gelangt seid.
Windev ist eine sehr umfangreiche und starke Entwicklerumgebung für Anwendungen unter Windows, Linux und Internetapplikationen inkl. Mobile.
Hier sind Antworten und Anregungen dazu zu finden!
Möchtest du aktiv mitschreiben? Dann melde dich durch Klick auf den Text "Registrieren" hier rechts oberhalb an.

Benutzung von HImportXML

Alle Themen rund um die Erstellung von Programmen

Benutzung von HImportXML

Beitragvon FDominicus » 24. Februar 2017, 14:02

Liebe Windev Benutzer, ich versuche mit hIMportXML einige Daten in's windev zu bekommen, werde aber nicht aus der Doku schlaue

Hier mein XML
Code: Alles auswählen
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<FormatDescription>
<Format>
<FormatId></FormatId>
<Description></Description>
<Name></Name>
<StandardType></StandardType>
<Importable></Importable>
<Exportable></Exportable>
<DataCategory></DataCategory>
<GroupSeperator />
<DecimalSeperator>,</DecimalSeperator>
<DateFormatExpression>TTMM</DateFormatExpression>
<DateFormatSeperator />
<CurrencySignExpression />
<DirectoryName />
<FileName />
<Version></Version>
<IsDefaultFormat></IsDefaultFormat>
<DataExtendedZone></DataExtendedZone>
</Format>
<Field>
<FieldId>1</FieldId>
<DisplayGroupId>106</DisplayGroupId>
<OrdinalNumber>0</OrdinalNumber>
<Label>DATEV-Format-KZ</Label>
<LabelAlias />
<Importable>1</Importable>
<Exportable>1</Exportable>
<Length>4</Length>
<DecimalPlaces>0</DecimalPlaces>
<FormatType>Text</FormatType>
<Necessary>1</Necessary>
<IsFormatable>0</IsFormatable>
<DecimalsEditable>0</DecimalsEditable>
<GroupingSymbol>1</GroupingSymbol>
<CreditDebitSign>0</CreditDebitSign>
<BaseFieldId>351</BaseFieldId>
<FixedLength>4</FixedLength>
<AddCreditDebitSign>0</AddCreditDebitSign>
<MaxCount>0</MaxCount>
</Field>
<Field>
<FieldId>2</FieldId>
<DisplayGroupId>106</DisplayGroupId>
<OrdinalNumber>1</OrdinalNumber>
<Label>Versionsnummer</Label>
<LabelAlias />
<Importable>1</Importable>
<Exportable>1</Exportable>
<Length>3</Length>
<DecimalPlaces>0</DecimalPlaces>
<FormatType>Zahl</FormatType>
<Necessary>1</Necessary>
<IsFormatable>0</IsFormatable>
<DecimalsEditable>0</DecimalsEditable>
<GroupingSymbol>0</GroupingSymbol>
<CreditDebitSign>0</CreditDebitSign>
<BaseFieldId>352</BaseFieldId>
<FixedLength>1</FixedLength>
<AddCreditDebitSign>0</AddCreditDebitSign>
<MaxCount>0</MaxCount>
</Field>

</FormatDescription>




Nun gibt es den root Parameter nur
Node of the XML file from which the import will be performed. Used to import a section of the XML file into the HFSQL data file. The type of this parameter is "root/clients".

Ich habe es mit FormatDescript/Fields Versucht nur mit Fields und was weiß ich noch. Was funktioniert ist
<level1>
<level2>
<tag></tag>

Dann werden die Elemente importiert nur in diesem Fall für das was in Format steht ein Record mit den Standardwerten.

Was ich will ist klar ich möchte Was innerhalb "<Field> steht importieren.
FDominicus
Junior Member
 
Beiträge: 16
Registriert: 9. Mai 2015, 08:19
Has thanked: 0 time
Have thanks: 0 time

Re: Benutzung von HImportXML

Beitragvon Herbert » 27. Februar 2017, 08:02

Willkommen!

Ich benutze XMLExtractString. Arbeite also nur mit Variablen.
http://doc.windev.com/?3081017&lang=en-US&productversion=01A210067f
und lese so direkt Werte aus einem XML ein.

Du musst meiner Meinung nach die Befehle verwenden, welche auf ein externes XML benötigt werden.
Das Himportxml liest die Daten in eine Tabelle ein. Dort müssten die Felder entsprechend definiert sein. Diesen Weg empfehle ich nicht unbedingt.
Herbert
Site Admin
 
Beiträge: 342
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times

Re: Benutzung von HImportXML

Beitragvon FDominicus » 8. März 2017, 12:28

"Das Himportxml liest die Daten in eine Tabelle ein. Dort müssten die Felder entsprechend definiert sein. Diesen Weg empfehle ich nicht unbedingt."

Genau das möchte ich aber. Die XML-Namen sind die Feldnamen und ich hätte gerne die entsprechenden Felder eingetragen Ich willl nicht manuell jedes einzelne Feld Rausnehmen auf
Es handelt sich hier um bis zu 176 oder so Felder und ich habe nicht die Absicht für jedes Feld in XMLExtracString den Tag Namen aufzuführen.

Packe ich die einzelnen Elemente in eigene Dateien passiert genau das gewünschte, die Sachen werden eingelesen und landen an der richtigen Stelle in der Datenbank von da könnte ich Sie "verwenden" um damit die Ausgabe zu formatieren.
FDominicus
Junior Member
 
Beiträge: 16
Registriert: 9. Mai 2015, 08:19
Has thanked: 0 time
Have thanks: 0 time

Re: Benutzung von HImportXML

Beitragvon Herbert » 9. März 2017, 09:33

OK, habe angenommen, dass du nur einige wenige Werte brauchst.
Hast du kein .XSD-File? So könntest du das Objekt definieren und direkt die Werte wie eine Variable ansprechen.
Das hImport müsste ich mir noch ansehen.
Herbert
Site Admin
 
Beiträge: 342
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times

Re: Benutzung von HImportXML

Beitragvon FDominicus » 9. März 2017, 14:57

Herbert hat geschrieben:OK, habe angenommen, dass du nur einige wenige Werte brauchst.
Hast du kein .XSD-File? So könntest du das Objekt definieren und direkt die Werte wie eine Variable ansprechen.
Das hImport müsste ich mir noch ansehen.


Nein, das sind self-contained Sachen. Keine Beschreibung die habe ich nur aus der Benutzung gefolgert. Das wäre aber auch nicht schlimm da es nur darauf ankommt die Sachen im Zugriff zu haben. Genau dann könnte ich nämlich über die Felder einen Export schreiben der die Daten dann korrekt in eine ASCII Datei schreibt. Das ist halt das gewollte Format.
Was die Felder bedeuten kann man sich ja "vorstlelen" wenn eben eine Maxlänge vorgegeben ist, muß ich halt beim Schreiben darauf achten, dafür brauche ich die Parameter aber im Zugriff. Ich hatte mir das ganze schon als eine Reihe von Klassen überlegt, nur muß ich dann eben auch den ganzen Import so schreiben, daß ich jedes verd.. Feld mit irgendeinem Ausdruck anfassen muß und das bei bis zu 176 Felder --- Brrrrrrrrr
FDominicus
Junior Member
 
Beiträge: 16
Registriert: 9. Mai 2015, 08:19
Has thanked: 0 time
Have thanks: 0 time

Re: Benutzung von HImportXML

Beitragvon FDominicus » 10. Juli 2017, 14:58

Zur Informatoin, man muß sich schon an ein einfaches Schema halten, aber wenn man das so hinbekommt geht der Export flott von der Hand. Es zeigt sich mal wieder die Sachen it der Programmmiererei, lieber steckt man 10 Stunden in ein Programm als x x 1 in die manuelle Erfassung. Das Schema was ich so einfach importieren konnte sieht so aus:
Code: Alles auswählen
<Field>
    <FieldId>1</FieldId>
    <DisplayGroupId>106</DisplayGroupId>
    <OrdinalNumber>0</OrdinalNumber>
    <Label>DATEV-Format-KZ</Label>
    <LabelAlias />
    <Importable>1</Importable>
    <Exportable>1</Exportable>
    <Length>4</Length>
    <DecimalPlaces>0</DecimalPlaces>
    <FormatType>Text</FormatType>
    <Necessary>1</Necessary>
    <IsFormatable>0</IsFormatable>
    <DecimalsEditable>0</DecimalsEditable>
    <GroupingSymbol>1</GroupingSymbol>
    <CreditDebitSign>0</CreditDebitSign>
    <BaseFieldId>351</BaseFieldId>
    <FixedLength>4</FixedLength>
    <AddCreditDebitSign>0</AddCreditDebitSign>
    <MaxCount>0</MaxCount>
  </Field>


Mit der entsprechenden Datenbank funktioniert HImportXML einfach.

Wahrscheinlich käme man mit XPATH Sachen noch weiter, da habe ich mich aber bisher nicht so reingekniet....
FDominicus
Junior Member
 
Beiträge: 16
Registriert: 9. Mai 2015, 08:19
Has thanked: 0 time
Have thanks: 0 time


Zurück zu Programmierung allgemein

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron