使用FLWOR的机器人

问题描述 投票:0回答:1

-R(CARGASPEQUEÑAS-MEDIANAS)

-RS080N

-RS003N

-RS010L

-CX(GRANDES CARGAS)

-CX110L

-CX210L

我需要使用此xml的此结果(ul内的ul)

<robots>
    <serie>
        <codigo>R</codigo>
        <descripcion>CARGAS PEQUEÑAS-MEDIANAS</descripcion>
    </serie>
    <serie>
        <codigo>CX</codigo>
        <descripcion>GRANDES CARGAS</descripcion>
    </serie>
    <robot>
        <codigo serie="R">RS003N</codigo>
    </robot>
    <robot>
        <codigo serie="R">RS010L</codigo>
    </robot>
    <robot>
        <codigo serie="R">RS080N</codigo>
    </robot>
    <robot>
        <codigo serie="CX">CX110L</codigo>
    </robot>
    <robot>
        <codigo serie="CX">CX210L</codigo>
    </robot>
</robots>

我尝试过此

       <section>
            {
                for $h in doc("/db/exam/robots.xml")/robots
                return
                    <h2>Os presentamos nuestros {count($h/robot)} robots</h2>
            }
            {for $e in doc("/db/exam/robots.xml")/robots/serie
                return 
            <ul>
                <li> <h3>Serie: {$e/codigo/text()} ({$e/descripcion/text()})</h3> </li>
                <li>
                    <ul>
                        {for $h in $e/../robot
                        return <li> <h3>{$h/codigo/text()}</h3> </li>}
                    </ul>
                </li>
            </ul>
            }
        </section>

但是它不起作用。有任何想法吗?请张贴。

xml flwor exide
1个回答
0
投票
<li>
  <ul>
    {for $h in $e/../robot
    where $h/codigo/@serie=$e/codigo
    return <li> <h3>{$h/codigo/text()}</h3> </li>}
 </ul>
</li>

© www.soinside.com 2019 - 2024. All rights reserved.