Cette réponse n'est pas complète, mais elle est trop longue pour être utilisée comme commentaire. Ce qui suit sélectionne l'URL de l'exemple donné (si chaque description ne contient qu'un seul img
Sinon, vous pouvez faire un modèle distinct et appeler récursive pour sélectionner tous les img
s.):
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/description/text()">
<xsl:value-of
select="substring-before(substring-after(., '<img src="'), '"/>')"
disable-output-escaping="yes"/>
</xsl:template>
</xsl:stylesheet>
Je pense qu'il ya un moyen pour créer un ensemble de nœuds à partir de la chaîne (mais je ne sais pas, vous pouvez faire des recherches dessus), vous pouvez donc créer un ensemble de nœuds à partir de <img .../>
et obtenir la valeur d'attribut src
.
Je pense que ce genre de question mérite son propre type de réponse «ne pas analyser (X) HTML avec RegExp» ... –
Il n'y a pas d'élément 'image' ayant un attribut' src' dans votre échantillon d'entrée. Les sections CDATA ne sont qu'un texte non analysé. Essayez de ne pas utiliser des données non analysées en tant que données analysables, s'il vous plaît. –