Ich habe eine XML-Datei bekommt, die diese Daten enthält:HTML-Tabelle Ausgabe
<?xml version="1.0" encoding="iso-8859-1" ?>
<university>
<lecture>
<class>English</class>
<hours>3</hours>
<pupils>30</pupils>
</lecture>
<lecture>
<class>Math</class>
<hours>4</hours>
<pupils>27</pupils
</lecture>
<lecture>
<class>Science</class>
<hours>2</hours>
<pupils>25</pupils>
</lecture>
</university>
Ist es möglich, wenn ich einen XQuery-Code erhalten kann, die diesen Ausgang (unten) für mich produziert?
<table>
<tr>
<td>English class runs for 3 with 30 pupils</td>
<td>Math class runs for 4 with 26 pupils</td>
<td>Science class runs for 2 with 25 pupils</td>
</tr>
</table>
EDIT: Unten ist mein Versuch:
let $classroom := doc("uni.xml")/university/lecture/class
let $hr := doc("uni.xml")/university/lecture/hours
let $pupl := doc("uni.xml")/university/lecture/pupils
<tr>
<table>
for $a in $classroom,
$b in $hr,
$c in $pupl
return <td>{$a} class runs for {$b} with {$c} pupils</td>
</tr>
</table>
Ich erhalte eine Fehlermeldung sagen, ich brauche einen Wert zurückgeben, die ich schon getan. Wenn ich die tr- und table-Tags heraushole, funktioniert es, aber es gibt mir ein Endlosschleife-Ergebnis.
Wie angekündigt, ist Ihre XML-Eingabe nicht wohlgeformt. XML benötigt ein einzelnes Wurzelelement. Hast du auch schon etwas versucht? Bitte teilen Sie – har07
@ har07: Ich habe es versucht (siehe meine Bearbeitung), aber es funktioniert nicht. – mrteeth