Thema Datum  Von Nutzer Rating
Antwort
01.07.2014 09:01:10 Rupert Persterer
NotSolved
01.07.2014 20:53:21 Gast97950
NotSolved
02.07.2014 08:30:53 Gast23225
NotSolved
09.07.2014 16:03:15 Gast5035
NotSolved
Rot Fehlender Zeilenumbruch bei XML-Dateien schreiben
09.02.2016 04:54:36 Gast7091
NotSolved
09.02.2016 04:56:23 Gast99067
NotSolved
09.07.2014 16:03:21 Gast11805
NotSolved
08.02.2016 22:23:29 BigBen
NotSolved

Ansicht des Beitrags:
Von:
Gast7091
Datum:
09.02.2016 04:54:36
Views:
1703
Rating: Antwort:
  Ja
Thema:
Fehlender Zeilenumbruch bei XML-Dateien schreiben

Hallo Rupert.

Die eigentlich Frage - welche sich auf Anhieb stellt - ist, wozu soetwas jemand braucht bzw. wieso (zur Hölle) sowas sinnvoll sein soll. Darum wird vermutlich noch niemand geantwortet haben. ;o) Auch ich vertrete diese Ansicht (XML-Dateien wird nicht per Notepad editiert sondern mit Hilfstools die bereits eine solche Formatierung anbieten).

Wie auch immer, die Antwort liegt ansich auf der Hand (ist allerdings nicht ganz so trivial wie es Gast97950 geschildert hat).

Zeilenumbrüche sind einfache Text-Elemente in XML. Du musst diese also nur vorher/nachher einfügen.

Private Sub PrettyFormat(ByVal XMLNode As MSXML2.IXMLDOMNode, Optional ByVal nl As Long)
  Const C_INDENT_SPC As Byte = 2
  Dim xmlChild As MSXML2.IXMLDOMElement
  If nl < 0 Then nl = 0
  If TypeOf XMLNode Is MSXML2.DOMDocument Then
    Call PrettyFormat(CallByName(XMLNode, "DocumentElement", VbGet), nl)
  ElseIf XMLNode.HasChildNodes Then
    For Each xmlChild In XMLNode.ChildNodes
      If xmlChild.HasChildNodes Then Call PrettyFormat(xmlChild, nl + 1)
      Call XMLNode.InsertBefore(XMLNode.OwnerDocument.createTextNode(vbNewLine & Space$(C_INDENT_SPC * 1 + (nl))), xmlChild)
    Next
    Call XMLNode.appendChild(XMLNode.OwnerDocument.createTextNode(vbNewLine & Space$(C_INDENT_SPC * nl)))
  End If
End Sub

Du rufst diese Prozedur also einfach vor dem Speichervorgang auf (Beispiel angelehnt anhand deines Codes):

Call PrettyFormat(xml)

 

Gruß

 

PS: Es heißt Menu und nicht Menue!

PPS: Keine Garantie auf Fehlerfreiheit.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
01.07.2014 09:01:10 Rupert Persterer
NotSolved
01.07.2014 20:53:21 Gast97950
NotSolved
02.07.2014 08:30:53 Gast23225
NotSolved
09.07.2014 16:03:15 Gast5035
NotSolved
Rot Fehlender Zeilenumbruch bei XML-Dateien schreiben
09.02.2016 04:54:36 Gast7091
NotSolved
09.02.2016 04:56:23 Gast99067
NotSolved
09.07.2014 16:03:21 Gast11805
NotSolved
08.02.2016 22:23:29 BigBen
NotSolved