Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi [Xmlbasierendes Dokument] Attribute auslesen (https://www.delphipraxis.net/174704-%5Bxmlbasierendes-dokument%5D-attribute-auslesen.html)

Back2Code 6. Mai 2013 15:44

[Xmlbasierendes Dokument] Attribute auslesen
 
Ich arbeite gerade an einer Importfunktion für bestimmte Felder in einem Xml basierendem Dokument.

Das einlesen von den Werten ansich funktioniert einwandfrei, leider schaff ich es nicht richtig Attribute von der trans-unit nämlich die id auszulesen.

Mein Code:

Delphi-Quellcode:
procedure TForm2.importXliff;
var
  i: Integer;
  TransUnits: IXMLNodeList;
  ID: IXMLNodeList;
begin
  if OpenDialog.Execute then
  begin
    //XMLDocument erzeugen und xml-Datei laden
    xmlDoc := newXMLDocument;
    xmlDoc.LoadFromFile(OpenDialog.FileName);
    Memo1.Lines := xmlDoc.XML;
    xmlDoc.Active := True;
    TransUnits := xmlDoc.DocumentElement.ChildNodes['file'].ChildNodes['body'].ChildNodes;
    ID := xmlDoc.DocumentElement.ChildNodes['body'].ChildNodes;

      for i := 0 to TransUnits.Count-1 do
        ListBox.Items.Add(TransUnits[i].ChildNodes['source'].Text);
        //xmlDoc.DocumentElement.ChildNodes['trans-unit'].AttributeNodes['id'].Text
  end;
 end;
Code:
<xliff version="1.1">
  <file original="myfile.ext" datatype="plaintext" Source-language="en-US" target-language="fr-FR">
    <body>
      <trans-unit id='#1'>
        <source>Der Text.</source>
        <target>Le texte.</target>
      </trans-unit>
 
      <trans-unit id='#2'>
        <source>Das Flugzeug</source>
        <target>l'avion.</target>
      </trans-unit>
    
      <trans-unit id='#3'>
        <source>Der Baum.</source>
      </trans-unit>
    
   </body>
  </file>
</xliff>
Meine Frage lautet jetzt wie ich die Trans-Unit ID auslesen kann?

Der schöne Günther 6. Mai 2013 15:59

AW: [Xmlbasierendes Dokument] Attribute auslesen
 
Ganz spontan ohne etwas zu prüfen:

Ich hätte nicht
Delphi-Quellcode:
AttributeNodes
, sondern einfach
Delphi-Quellcode:
Attributes
genommen: http://docwiki.embarcadero.com/Libra...ode.Attributes


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz