he utilizado XPath para seleccionar el nodo con el mayor valor entero Identificación antes de usar esta consulta:¿Cómo selecciono un nodo XML con el valor más largo del nodo #texto hijo con XPath?
//somenode[not(@id <= preceding::somenode/@id) and not(@id <= following::somenode/@id)]
Tenía la esperanza de que pudiera hacer algo similar como:
//entry[not(string-length(child::text()) <= string-length(preceding::entry/child::text())) and not(string-length(child::text()) <= string-length(following::entry/child::text()))]
pero vuelve un grupo de nodos en lugar de solo uno.
XMLmuestra:
<xml>
<entry>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</entry>
<entry>Nam dignissim mi a massa mattis rutrum eu eget mauris.</entry>
<entry>Ut at diam a sem scelerisque pretium nec pulvinar purus.</entry>
<entry>Nunc in nisi nec dolor accumsan suscipit vel a quam.</entry>
<entry>Nunc suscipit lobortis arcu, nec adipiscing libero bibendum nec.</entry>
<entry>Aenean eget ipsum et nunc eleifend scelerisque.</entry>
<entry>In eu magna et diam volutpat molestie.</entry>
<entry>In volutpat luctus mi, eu laoreet orci dictum vel.</entry>
<entry>In mattis mi nec magna sodales eu bibendum felis aliquet.</entry>
<!-- etc for 800 more lines or so -->
<entry>Duis auctor felis id neque gravida ut auctor ipsum ullamcorper.</entry>
<entry>Sed vel tortor mauris, et aliquet tellus.</entry>
</xml>
prueba XPath: http://chris.photobooks.com/xml/default.htm?state=1o
creo que se está perdiendo algo en esa segunda consulta, un '[1]' en el extremo tal vez? – travis
@travis: Buena captura - Estoy un poco fuera de foco esta noche. Corregido –
+1 - * "(string-length (someNodeSet) se aplica solo en el primer nodo de este conjunto de nodos)" * - Cometí un error tonto y luego fui engañado por muy pocos casos de prueba. Esta es la mejor respuesta. –