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?