считать элементы с одинаковым значением атрибута - PullRequest
1 голос
/ 19 декабря 2011

Могу поспорить, что это легко, но я не могу ее решить.

Я пытаюсь найти узлы, которые имеют одинаковое значение в файле XML

Я хочу, чтобы вывод был типа 72.

Когда я использую функцию подсчета, он считает все ноды типа, а не тип = 2 нода.

<autoads>
<ad>
<type>1</type>
</ad>
<ad>
<type>2</type>
</ad>
<ad>
<type>2</type>

</ad>
<ad>
<type>2</type>

</ad>
<ad>
<type>1</type>

</ad>
<ad>
<type>2</type>

</ad>
<ad>
<type>2</type>

</ad>
<ad>
<type>1</type>

</ad>
<ad>
<type>2</type>

</ad>
<ad>
<type>2</type>
</ad><br />
</autoads>

1 Ответ

2 голосов
/ 19 декабря 2011
* +1000 * Используйте
count(/*/*/type[. = 2])

при этом получается количество элементов с именем type, строковое значение которых преобразовано в число 2 и которые являются потомками верхнего элемента XML-документа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...