Foxpro und XML

09/03/2009 - 14:57 von Tobias Eggers | Report spam
Hallo zusammen,

und ein erstes Hallo :)

Ich habe ein kleines Problem mit Foxpro und XML

Ich habe eine Kleine XML-Datei:

<?xml version="1.0" ?>
<data>
<config>
<Bericht1>test.xls</Bericht1>
<Bericht2>test2.xls</Bericht2>
</config>
</data>

Nun möchte ich je nach übergebenen Parameter die jeweilige XLS-Datei
ausgeben lassen.
Das bekomme ich auch ohne Probleme hin mittels:

LOCAL oXMLAdapter as XMLAdapter
oXMLAdapter = NEWOBJECT('XMLAdapter')
oXMLAdapter.LoadXML("e:\test.xml",.T.)

oElement = oXMLAdapter.IXMLDOMElement
?oElement.getElementsbyTagName("Bericht1").Item(0).text
oXMLAdapter.ReleaseXML()

Mein Problem ist nun das schreiben in die XML-Datei. Hierfür habe ich keine
Idee. Wie kann ich nun den Wert von Bericht1 àndern? Wenn ich schreibe:
oElement.getElementsbyTagName("Bericht1").Item(0).text = "moin.xls" werden
die Änderungen nicht in die Datei übertragen.

Hoffe mir kann jemand einen Tipp geben.

Gruß,
Tobias Eggers
 

Lesen sie die antworten

#1 Olaf Doschke
09/03/2009 - 18:00 | Warnen spam
Der XMLAdapter ist in Deinem Fall evtl. etwas
mit Kanonen auf Spatzen schießen, auf jeden Fall
weniger gut geeignet für solche Konfigdaten in
XML-Form.

Außerdem gibt es beim XMLAdapter quasi zwei Einbahnstraßen:
LoadXML làdt XML, parst und validiert es undlàßt Dir
darauf Lesezugriff, u.a. so wie Du das machst, außerdem
auch über Tables(N).ToCursor als VFP Cursoren.

ToXML erstellt XML nach vorgegebenem Schema und soweit
ich damit gearbeitet habe aus Cursoren, die man dem
XMLAdapter als XMLTable anhàngt mittels AddTableSchema.

Meine Idee wàre in dem Fall mit Stringfunktionen wie
FILTOSTR(), STRTOFILE(), STREXTRACT() und STUFF() zu
arbeiten.

Tschüß, Olaf.

Ähnliche fragen