2016-06-29 8 views
0

I xml habe wie diese,das erste Element auswählen, die in einem XML-

<table> 
    <thead> 
     <tr> 
      <td >111111</td> 
      <td >ccc</td> 
      <td >css</td> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td >ccc</td> 
      <td >aaa</td> 
      <td >ddf</td> 
     </tr> 
     <tr> 
      <td >ss</td> 
      <td >MPa</td> 
      <td >sss</td> 
     </tr> 
     <tr> 
      <td >cd</td> 
      <td >s</td> 
      <td >cd</td> 
     </tr> 
    </tbody> 
</table> 

Wie kann ich das erste td Element in dem oben xml wählen. (hier <td >111111</td>). Wenn <thead> nicht in der XML-Datei angezeigt wird, muss zuerst <td> innerhalb von </tbody> ausgewählt werden.

Ich kann nicht wtire td[1] xpath dann alle td s innerhalb tr ist ausgewählt.

+0

'Abfrage ('// td') [0]', in welcher Sprache/Abfrage-Engine Sie verwenden. Holen Sie sich alle tds, dann beschäftigen Sie sich nur mit dem ersten. –

Antwort

0

verwenden XPath:

(//td)[1] 

Es wählt alle td Tags und gibt die erste.

Je nach Eingabe-XML ist dieser XPath möglicherweise effizienter (//td[1])[1] (hängt davon ab, wie intelligent Ihre XPath-Engine ist).

0

Sie möchten eine Union wie folgt verwenden:

//thead/tr/td[1] | //tbody/tr/td[1]

Dadurch kehren sowohl die td s (<td >111111</td> und <td >ccc</td>), wenn thead vorhanden ist und nur <td >ccc</td> wenn thead nicht vorhanden ist.

Verwandte Themen