Einzelnen Beitrag anzeigen

Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#1

[Xmlbasierendes Dokument] Attribute auslesen

  Alt 6. Mai 2013, 16:44
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?
  Mit Zitat antworten Zitat