Erstellen von XML-Dateien aus XLS-Zellen über Einrückungen

8

Ich versuche eine XML-Datei zu erstellen, indem ich eine XLS-Datei analysiere. Ein Beispiel sollte relevanter sein:

%Vor%

Wenn wir uns vorstellen, dass dies Zellen sind, entspricht dies dem folgenden .xml-Code.

%Vor%

Das wäre nicht so schwer, wenn man eine Zelle nach der anderen verwaltet und einfach "& lt;" &Ampere; Zelle (x, y) & amp; "& gt;" Aber ich wollte eine elegante Lösung. Hier ist meine Implementierung so weit:

%Vor%

Probleme: Zuerst habe ich nicht bemerkt, dass ich den Namen eines Knotens nicht ändern kann, indem ich node.nodeName="newName" mache Ich habe tatsächlich eine Lösung auf StackOverflow gefunden: Change NodeName eines XML Tag-Element mit MSXML

Also habe ich meine Versuche, die Knoten umzubenennen, kommentiert und die Version mit der ReplaceNodeName-Methode ausprobiert.

Das eigentliche Problem: node.appendChild (newNode) von createXMLpart2 gibt mir ein Problem: Es heißt, dass die Variable "newNode" nicht gesetzt ist. Ich bin verwirrt.

    
Bogdan P. 18.05.2011, 17:17
quelle

3 Antworten

6

Vielleicht so etwas ...

%Vor%     
Tim Williams 21.05.2011, 04:24
quelle
3

Ich bin kein Experte für VBA, aber wenn ich Ihren Code betrachte, verstehe ich nicht, warum Sie denken, dass newNode initialisiert wird.

Am Anfang von createXMLpart2() deklarieren Sie es als Dim newNode As MSXML2.IXMLDOMElement , aber wo gibst du einen Wert?

    
LarsH 20.05.2011 22:19
quelle
0

Ich entschied mich für reinen VBA-Code (z. B. eine Reihe von Schleifen). Was ich angefangen habe, war ziemlich klein, aber dann dachte ich "Was ist, wenn sich die Anforderungen ändern?". Mit anderen Worten, was wäre, wenn das Folgende auch gültig wäre:

%Vor%

Das könnte wie ein Haufen Kauderwelsch aussehen, aber es setzt Tags vor und nach Spalte 4 ein.

Wenn wir diesen XML-Code verkleiden würden, würde er ungefähr so ​​aussehen:

%Vor%

Und deshalb macht mein Modul:

%Vor%

Also, es ist ein bisschen länger als erwartet und könnte wackeliger als elegant sein ... aber es funktioniert.

    
ray 24.05.2011 19:38
quelle

Tags und Links