Hallo Christian,
das JvSimpleXML kenne ich nicht, aber du musst deine Childs durchgehen und dann die Attribute, bzw. Values abfragen.
Beispiel:
Delphi-Quellcode:
var XML : IXMLDocument;
mNode : IXMLNode;
eNode : IXMLNode;
opNode : IXMLNode;
arNode : IXMLNode;
dNode : IXMLNode;
sNode : IXMLNode;
i,j,k,m,n,o,p : Integer;
begin
XML:=NewXMLDocument;
XML.XML.Text:=XMLCode;
XML.Options := [doNodeAutoCreate,doAutoSave];
XML.Active:=true;
for i:=0
to XML.ChildNodes.Count-1
do
begin
for j:=0
to XML.ChildNodes[i].ChildNodes.Count-1
do
begin
eNode:=
XML.ChildNodes[i].ChildNodes[j];
if eNode.NodeName='
equipment'
then begin
for k:=0
to eNode.ChildNodes.Count-1
do
begin
if eNode.ChildNodes[k].NodeName='
elements'
then
begin
for m:=0
to eNode.ChildNodes[k].ChildNodes.count-1
do
begin
mNode:=eNode.ChildNodes[k].ChildNodes[m];
for n:=0
to mNode.ChildNodes.count-1
do
begin
if mNode.ChildNodes[n].NodeName='
subsystem'
then
begin
for o:=0
to mNode.ChildNodes[n].ChildNodes.Count-1
do
begin
dNode:=mNode.ChildNodes[n].ChildNodes[o];
for p:=0
to dNode.ChildNodes.Count-1
do
begin
sNode:=dNode.ChildNodes[p];
if sNode.Attributes['
areasigtype'] = '
12'
then
begin
if ((sNode.Attributes['
signalcode'] = '
X')
and (sNode.Attributes['
replacetag'] = '
'))
then
begin
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
nur als Beispiel, musst halt auf deine Bedürfnisse umbauen...
Gruß Ruben