Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.017 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: XML geschachteltes selectNodes liefert falsches Ergebnis zurück

  Alt 6. Aug 2019, 00:03
Hallo zusammen,

nach dem oben aufgezeigten Beispiel versuche ich alle span-Nodes innerhalb von dem "DetailAddText"-Node aus einem XML-File auszulesen.
Ich hatte angenommen, dass das o.g. Beispiel für mich richtig ist.
Mir geht's um alle Texte bei allen span-Nodes innerhalb des "DetailAddText"-Node, wie z.B. V E R T R A G L I C H E R E G E L U N G E N


Code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xxxx xmlns="http://www.xxxxxxx">
   <xxxInfo>
      <Version>3.1</Version>
      <VersDate>2009-12</VersDate>
      <Date>2012-02-29</Date>
      <Time>16:29:12</Time>
      <ProgSystem>xxxxx GmbH</ProgSystem>
      <ProgName>xxxxxx</ProgName>
   </xxxInfo>
   <PrjInfo>
      <NamePrj>Beispielprojekt</NamePrj>
      <LblPrj>Musterprojekt</LblPrj>
      <Cur>EUR</Cur>
      <CurLbl>Euro</CurLbl>
      <UPFracDig>2</UPFracDig>
   </PrjInfo>
   <Award>
      <DP>83</DP>
      <AwardInfo>
         <Cur>EUR</Cur>
         <CurLbl>Euro</CurLbl>
         <EvalEnd>2011-12-20</EvalEnd>
         <SumbLoc>siehe Anschrift AG</SumbLoc>
      </AwardInfo>
      <OWN>
         <Address>
            <Name1>xxxx GmbH</Name1>
            <Street>xxxxxstr. 4</Street>
            <PCode>12345</PCode>
            <City>Musterhausen</City>
            <Country>Deutschland</Country>
            <Phone>0049 123456789-0</Phone>
            <Fax>0049 123456789-10</Fax>
         </Address>
      </OWN>
      <AddText>
         <OutlineAddText>
            <p style="text-align:left;">
               <span style="font-family:'Courier New CYR';font-size:10pt;"> </span>
            </p>
         </OutlineAddText>
         <DetailAddText>
            <p style="text-align:left;">
               <span style="font-family:'Arial';">         V E R T R A G L I C H E  R E G E L U N G E N</span>
            </p>
            <p style="text-align:left;">
               <span style="font-family:'Arial';">                vor der Angebotsaufforderung</span>
            </p>
            <p style="text-align:left;">
               <span style="font-family:'Arial';">                      Stand: </span>
               <span style="font-family:'Arial';font-size:12pt;">20.12.2011</span>
            </p>
            <p style="text-align:left;">
               <span style="font-family:'Courier New';font-size:10pt;">1 ALLGEMEINER TEIL</span>
            </p>
            <p style="text-align:left;">
               <span style="font-family:'Courier New';font-size:10pt;">1.1 Geltungsbereich, Allgemeines</span>
            </p>
            <p style="text-align:left;">
               <span style="font-family:'Courier New';font-size:10pt;">1.1.1 Diese Vorbemerkungen sind ZUSÄTZLICHE TECHNISCHE</span>
            </p>
            <p style="text-align:left;">
               <span style="font-family:'Courier New';font-size:10pt;">VERTRAGSBEDINGUNGEN - ZTV.</span>
            </p>
         </DetailAddText>
         <Zusatz>
            <p style="text-align:left;">
               <span style="font-family:'Arial';">         ZUSATZVEREINBARUNGEN</span
            </p>
         </Zusatz>
      </AddText>
   </Award>
</xxxx>
Mein momentaner Code:

Delphi-Quellcode:
...
VAR
  xXMLDoc: IXMLDOMDocument2;
  NodeList: IXMLDOMNodeList;
  xXPath: STRING;
  i: Integer;
BEGIN
  Memo_tmp.Clear;
  xXMLDoc := CoDOMDocument.Create;
  xXMLDoc.Load(gsFileName);

  xXPath := '//Award/AddText/DetailAddText/p/span';

  NodeList := xXMLDoc.selectNodes(xXPath);
  Showmessage(IntToStr(NodeList.Length)); // <-- zeigt immer 0 an
...
Egal was ich nun unter xXPath eingebe, die ShowMessage zeigt mir immer 0 an für NodeList.Length…

Ich würde mich sehr freuen wenn mir jemand helfen könnte.

Vielen Dank schon mal vorab!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat