XML Writer Problem

  • VB.NET
  • .NET 5–6

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Ulli.

    XML Writer Problem

    Hallo,

    ich versuche gerade in VB.NET mit dem XML Writer folgendes zu erzeugen und bekomme es einfach nicht hin:

    XML-Quellcode

    1. <xsd:sequence>
    2. <xsd:element ref="user_defined_anyfield" minOccurs="0" maxOccurs="unbounded"/>
    3. <user_defined_simplefield feldname="Aus_SAP">true</user_defined_simplefield>


    Hat jemand einen Tipp wie ich das aufbereiten muss damit es so auch in der XML Datei rauskommt. Ich habe mit WriteElementString und WiriteAttributeString schon rumprobiert, bekomme es aber nicht gebacken :(
    Nice day
    Ulli

    Code-Tags eingefügt. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    @Ulli Bist Du auf diese Struktur festgelegt?
    Wenn ja: Wo kommt die her?
    Letztenendes ist es egal, wichtig ist, dass der XML-Schreiber seine XML auch wieder lesen kann.
    Eine funktionierende Lese-Routine kannst Du dann ggf. weiter reichen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo,
    Ich bin nicht genau auf diese Struktur festgelegt:
    Letztendlich ist es eine XML Datei nach OpenImmo Standard. So soll es zumindest sein. Das was ich versuche zu erreichen ist eigentlich folgendes:
    Bin leider zu dämlich hier einen Screenshot hochzuladen, deshalb versuche ich es mal so zu verdeutlichen:

    XML-Quellcode

    1. <verwaltung_techn>
    2. <user_defined_simplefield feldname="BUKRS">0273</user_defined_simplefield>
    3. </verwaltung_techn>




    Wobei hier die 0237 eine Variable ist. Ich bekomme es nicht hin das so aufzubauen. War das irgendwie verständlich?
    Gruß
    Ulli
    @Ulli Mach es doch einfach mal anders herum:
    Versuche, eine solche XML-Datei mit nem XML-Reader zu lesen.
    Schau mal hier rein, da findest Du ein Beispiel:
    docs.microsoft.com/de-de/dotne…em_Xml_XmlWriterSettings_
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo RodFromGermany und hallo HenryV,

    das mit der Klasse aus der XSD Datei werde ich mal versuchen. Hab damit bisher nicht viel Erfahrung, aber man lernt ja nicht aus :)
    Vielen Dank für die hilfreichen Tipps und Hinweise.

    VG
    Ulli



    Hallo noch mal,

    sorry wenn ich noch mal nachfrage aber ich brauch doch noch mal Hilfe. Ich habe jetzt eine Klasse generiert, hat wunderbar funktioniert. Innerhalb der Klasse gibt es ja viele Unterklassen, also
    openimmo_127b.vb
    --Anbieter
    --Firma
    --Immobilie
    etc,

    Ich habe jetzt folgendes gemacht:

    VB.NET-Quellcode

    1. Dim nutzungsart As New nutzungsart
    2. With nutzungsart
    3. .ANLAGE = vbTrue
    4. .WOHNEN = vbFalse
    5. End With
    6. Dim anbieter As New anbieter
    7. With anbieter
    8. .firma = "Firma 123 Test"
    9. End With
    10. Dim serializer As New XmlSerializer(GetType(nutzungsart))
    11. Dim writer As New StreamWriter("h:\_upload\test.xml")
    12. serializer.Serialize(writer, nutzungsart)
    13. writer.Close()


    Wie bekomme ich jetzt den Teil Anbieter in die selbe XML Datei?
    Vielen Dank und Gruß
    Ulli

    Beiträge zusammengefügt. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    Ulli schrieb:

    Wie bekomme ich jetzt den Teil Anbieter in die selbe XML Datei?
    Pack ihn einfach in dieselbe Klasse.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hi, danke erst mal für die Antwort und Hilfe.
    Ich bin wie Ihr merkt nicht so fit. Wenn ich die XML Datei so Erzeuge würden die Felder Anlage und Wohnen unter dem Tag <nutzungsart> erscheinen. Wenn ich jetzt den Bereich Anbieter einfach in die Klasse Nutzungsart verschiebe, würde dann doch auch der Tag firma unter <nutzungsart> erscheinen, oder sehe ich das falsch?
    Wenn dem so ist, stimmt die XML Datei nicht mehr.

    Gruß
    Ulli

    Ulli schrieb:


    XML-Quellcode

    1. <verwaltung_techn>
    2. <user_defined_simplefield feldname="BUKRS">0273</user_defined_simplefield>
    3. </verwaltung_techn>



    Wäre diese Formatierung auch okay?

    XML-Quellcode

    1. <?xml version="1.0"?>
    2. <verwaltung_techn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    3. <user_defined_simplefield>
    4. <feldname>BURKS</feldname>
    5. <ID>0273</ID>
    6. </user_defined_simplefield>
    7. </verwaltung_techn>


    Meine Website:
    www.renebischof.de

    Meine erste App (Android):
    PartyPalooza
    Dann ist das vielleicht was für dich:

    VB.NET-Quellcode

    1. Public Class verwaltung_techn
    2. Public Property user_defined_simplefield() As user_defined_simplefield
    3. End Class
    4. Public Class user_defined_simplefield
    5. Public Property feldname() As String
    6. Public Property ID() As String 'Sollte in dem Fall Option Strict On mäßig besser ein Integer sein
    7. End Class
    8. Private Sub ButtonExport_Click(sender As Object, e As EventArgs) Handles ButtonExport.Click
    9. Dim VT As New verwaltung_techn()
    10. VT.user_defined_simplefield = New user_defined_simplefield() With {.feldname = "BURKS", .ID = "0273"}
    11. Dim Serializer As New Xml.Serialization.XmlSerializer(GetType(verwaltung_techn))
    12. Using outputname As New System.IO.FileStream("Output.xml", System.IO.FileMode.OpenOrCreate)
    13. Serializer.Serialize(outputname , VT)
    14. End Using
    15. End Sub


    Output.xml:

    XML-Quellcode

    1. <?xml version="1.0"?>
    2. <verwaltung_techn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    3. <user_defined_simplefield>
    4. <feldname>BURKS</feldname>
    5. <ID>0273</ID>
    6. </user_defined_simplefield>
    7. </verwaltung_techn>


    Meine Website:
    www.renebischof.de

    Meine erste App (Android):
    PartyPalooza