2017-08-29 1 views
0

Ich versuche, xslt Knoten mit name=SomeName2 und ihren childnode Text als Ausgabe zu erhalten. Ich weiß nicht, wo sie sich in der XML-Datei befinden und ihre Position ist in verschiedenen XML-Dateien immer unterschiedlich.Nach Knoten mit spezifischem Nametag suchen

Gibt es eine Option zum Durchsuchen einer XML-Datei nach Knotennamen, nicht nach Node-Namespaces eines Knotens?

Hier meine XML-Datei:

<con1:node>    
       <con2:node name="SomeName"> 
        <con2:path>'Text'</con2:path> 
       </con2:node> 
       <con2:node name="SomeName2"> 
        <con2:path>'Text'</con2:path> 
       </con2:node> 
       <con2:node name="SomeName3"> 
        <con2:path>'Text'</con2:path> 
       </con2:node> 
<con1:node> 

Antwort

1

können Sie:

<?xml version="1.0" encoding="UTF-8"?> 
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
     version="2.0"> 
     <xsl:output indent="yes" method="text"/> 
     <xsl:template match="/"> 
      <xsl:value-of select="//@name[normalize-space(.) = 'SomeName2']/parent::*"/> 
     </xsl:template> 
    </xsl:stylesheet> 
+0

Brilliant, vielen Dank! – MypR

+0

Das ist der Punkt von '// @ name [normalize-space (.) = 'SomeName2']/Eltern :: *'? Warum nicht '// * [@ name = 'SomeName2']'? – Tomalak

Verwandte Themen