mozilla
您的搜索结果

    Descendants and Filters

    访问后代节点

    很多时候,你感兴趣的节点往往不是 XML 根节点的子节点,而是嵌套在多层下的后代节点。你可以使用 .. 操作符访问任意深度的节点,或者使用 descendants 性质。例如:

    var element = <pets>
                    <dogs>
                      <fido color="red"/>
    		  <spike color="blue"/>
    		</dogs>
                  </pets>;
    element..fido.@color = "green";
    element..spike.@color = "purple";
    

    两只宠物狗的颜色都做了改变。

    点(.)操作符的所有规则都适用于 .. 操作符。那就是说,如果有多个请求的类型,就会返回一个 XML 后代的列表。星号(*)选择器会返回 XML 列表的所有后代。

    过滤器

    在很多情况下,尤其是用 * 选择器时,你并不想要处理 . 或 .. 操作符返回的所有节点。为了只处理其中特定的子集,可以将筛选条件放到 . 操作符后面的圆括号里。

    var element = <dogs>
                    <fido color="brown"/>
                    <spike color="black"/>
                    <killer color="brown"/>
                  </dogs>;
    var list = element.*.(@color == "brown");

    本来,element.* 返回一个包含三只狗的列表。但其中只有 fido 和 killer 的颜色是褐色的。因此,该过来条件创建了一个只包含 fido 和 killer 的列表。

    文档标签和贡献者

    Contributors to this page: redraiment, ziyunfei
    最后编辑者: ziyunfei,