给定同级节点条件为真,是否有一种方法可以计算节点数?

时间:2019-06-13 21:37:59

标签: xpath count siblings

我试图计算在满足同级节点条件的情况下存在的节点数。

我尝试了几种XPath组合,但不确定是否可行。

<ab:Person>
    <ab:Gender ab:Descriptor="Girl">
    </ab:Gender>
    <ab:body>
        <ab:finger>1</ab:finger>
    </ab:body>
    <ab:body>
        <ab:finger>2</ab:finger>
    </ab:body>
    <ab:body>
        <ab:finger>3</ab:finger>
    </ab:body>
</ab:Person>

<ab:Person>
    <ab:Gender ab:Descriptor="Boy">
    </ab:Gender>
    <ab:body>
        <ab:finger>4</ab:finger>
    </ab:body>
    <ab:body>
        <ab:finger>5</ab:finger>
    </ab:body>
</ab:Person>

我想计算每个性别的节点数-即count(ab:finger,给定ab:Person / ab:Gender ab:Descriptor =“ Boy”)和(ab:finger,给定ab: Person / ab:性别ab:Descriptor =“ Girl”)。

我对上述两个xpath函数的期望输出将是2和3 ...因为“男孩”存在的ab:finger节点的数量是2,而“女孩”的数量是3。

如果这个问题没有道理,请告诉我-我可以进一步阐述!

1 个答案:

答案 0 :(得分:0)

如果性别可变,那么这将成为一个分组问题。但是,如果只有两个,则非常简单:

$('#id_submit').click(function(e) {
  e.preventDefault();
  var form = $('form').serialize();
  image_form = $("#id_image")[0].files[0]

  var data = {
    form: form,
  }

  $.ajax({
    headers: {'X-CSRFToken': '{{ csrf_token }}' },
    type: 'POST',
    data: data,
  })
})