2017-11-24 5 views
0

私のXMLは以下の通りです:XSLTのselectの値で要素の特定のパラメータを取得するにはどうすればよいですか?

<tags> 
     <tag id="2"> 
     <name> 
      <de-DE>xxx</de-DE> 
     </name> 
     </tag> 
     <tag id="5"> 
     <name> 
      <de-DE>ccc</de-DE> 
     </name> 
     </tag> 
     <tag id="12"> 
     <name> 
      <de-DE>CC BY-SA</de-DE> 
     </name> 
     </tag> 
    </tags> 

私は、タグID = "12" からBY-SA CCを抽出する必要があります。どのようにしてselect tagの値をtag id = "12"にすることができますか? それは私が実行しようとしましたものだが、それは何も抽出しません:あなたは一例として与えるXMLで

<xsl:value-of select="/tags/tag[@id=12]/name/de-DE"/> 
+1

あなたも、あなたのXSLTを投稿することができますか? – Siraf

答えて

1

を、何をしようとしたことは正しいです。 XSLTのオンラインツールで確認できます。

しかし、私が与える例は、自分が働いているものと試しているものではないということを喜ばしく思います。たとえば、私は(彼らはXML名にする必要があり、XML IDデータ型に準拠したときのように、簡単な数字はIDSとして有効ではありません。)あなたのIDは異なる場合がありますことを想像

だから、何かもっとのように:

<tag id="id12"> 
    <name> 
    <de-DE>CC BY-SA</de-DE> 
    </name> 
</tag> 

の場合、IDは12番にもう変換できません。また、id12という文字列と同等であるかどうかだけをテストできます。

だから、正しい式は次のようになります。

<xsl:value-of select="/tags/tag[@id='id12']/name/de-DE"/> 
+1

他の可能性のある候補は、「人々がそれを気付かないために教えてくれなかったこと」には、(a)ソース文書内の名前空間と(b)xsl:value-of表現の動的コンテキストが含まれます。問題を示す完全な実行可能な例を作成することが常にベストです。 –

関連する問題