AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi mit Delphi ein Word XML Dokument verarbeiten
Thema durchsuchen
Ansicht
Themen-Optionen

mit Delphi ein Word XML Dokument verarbeiten

Ein Thema von nalii · begonnen am 16. Apr 2008 · letzter Beitrag vom 10. Mai 2008
 
nalii

Registriert seit: 2. Dez 2005
16 Beiträge
 
#1

mit Delphi ein Word XML Dokument verarbeiten

  Alt 16. Apr 2008, 16:32
Hallo,

ich habe gerade erst angefangen, mich im Umgang mit XML zu beschäftigen, deshalb kann die eine oder andere Frage recht blöd sein.

Ich möchte ein XML Dokument erstellen, um dort über verschiedene Elemente (in der XML Datei unten z.B. Name und Beruf) an deren Werte zu gelangen. Platzhalter in der XML Datei sollen dann von Benutzern gefüllt werden und später möchte ich sie eben wieder auslesen können.

Hier mal das Dokument, wie es per Hand erstellt wurde:

Delphi-Quellcode:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<w:wordDocument
xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"
xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument ">
    <w:docPr>
        <w:showXMLTags w:val="on"/>
   <w:view w:val="page"/>   
   <w:alwaysShowPlaceholderText w:val="on"/>
    </w:docPr>
    <w:body>
      <w:p>
          <w:r>
              <w:rPr>
                  <w:b/>
              </w:rPr>
              <w:t xml:space="preserve">Name: </w:t>
          </w:r>
          <s:name>
              <w:r>
                <w:t>Hans</w:t>
              </w:r>
          </s:name>
      </w:p>
      <w:p>
          <w:r>
              <w:rPr>
                  <w:b/>
              </w:rPr>
              <w:t xml:space="preserve">Beruf: </w:t>
          </w:r>
          <s:beruf>
              <w:r>
                  <w:t>Pilot</w:t>
              </w:r>
          </s:beruf>
      </w:p>
    </w:body>
</w:wordDocument>

Das funktioniert leider nicht alles nicht so richtig (: daher einige Fragen:

1) Beim abspeichern des XML Dokuments via Word verändert sich dessen Struktur bzw. Word fügt 100 Millionen Attribute, usw. hinzu. Das ist erst einmal gar nicht unbedingt schlimm, da die Platzhalter (bspw. Name / Beruf) trotzdem erhalten bleiben. Kann man die eigene Struktur dennoch irgendwie beibehalten?

2) Wenn die Platzhalter gefüllt sind und ich die Werte auslesen möchte, wie stelle ich das am besten an?

Ich habe versucht das XML Dokument per IXmlDocument auslesen und an die Platzhalter zu kommen, was aber nicht so richtig funktionierte. Ich habs folgendermaßen versucht:

Delphi-Quellcode:
  xmlDoc := LoadXmlDocument('e:\_entwicklung\3.xml');
  for i := 0 to Pred(xmldoc.DocumentElement.ChildNodes.Count) do begin
    if xmldoc.DocumentElement.ChildNodes[i].NodeName = 'Berufthen begin
      ShowMessage(VarToStr(xmldoc.DocumentElement.ChildNodes[i].NodeValue))
    end;
  end;
Wenn man sich die Knotennamen ausgibt, dann kommt da der Node 'Beruf' gar nicht vor. Vermutlich nicht, weil er in der Hierarchie noch weiter verschachtelt ist. Bevor ich jetzt aber mit einem falschen Ansatz weiter mache, wollte ich euch fragen, wie ich am Besten an meine selbstdefinierten Platzhalter (in diesem Fall Beruf / Name) komme.

3) Wenn man das XML Dokument oben in Wort öffnet, sollte man Platzhalter sehen. Kann ich in Word den Namen dieser Platzhalter ändern? Dazu habe ich bisher noch keine Möglichkeit gefunden.

Vielen Dank für eure Hilfe
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz