"a"ノードのテキストを除外しながら、その子ノードのテキストを含むノード内のテキストをすべて出力するにはどうすればよいですか?XSL:特定のタイプのノードを除く、ノード内のすべてのテキストを選択します。
1
A
答えて
8
を返す必要があります。指定した新しい処理モード(以下のコードでは "all-but-a")であっても、組み込みルールは機能します:要素、(再帰的に)子を処理します。テキストノードの場合、コピーします。そのうちの1つ、つまり<a>
の要素のルールをオーバーライドするだけで済みます。そのため、空のテンプレートルールが効果的にテキストを取り除きます。組み込みのテンプレート規則がどのように動作するかの詳細について
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="myNode">
<!-- Process children -->
<xsl:apply-templates mode="all-but-a"/>
</xsl:template>
<!-- Don't process <a> elements -->
<xsl:template mode="all-but-a" match="a"/>
</xsl:stylesheet>
、私のウェブサイト上の"How XSLT Works"の「組み込みテンプレートルール」のセクションをご覧ください。
1
<xsl:for-each select="//*[text() and name() != 'a']">
<xsl:value-of select="."/>
</xsl:for-each>
3
現在ノードを処理している場合。
<xsl:value-of select="."/>
は結果にコピーすることであるテキスト・ノードのための組み込みのテンプレートルールの使用を確認し、すべてのテキストコンテンツ
+0
1
私は、これはあなたが探しているものであると信じて:
<xsl:for-each select="//text()[not(ancestor::a)]">
<xsl:value-of select="."/>
</xsl:for-each>
それは、アンカータグの子ではないすべてのテキストノードを選択します。
関連する問題
- 1. XPath - 特定の内部ノードのないノードを選択する
- 2. XSL:ノードセット内のユニークなノードを選択する方法
- 3. 特定のノードからコメントを削除するxsl
- 4. 子ノードではなく、ノードでテキストを直接選択する
- 5. 各特定のノードのすべてのXML子ノードを読む
- 6. XSL:ノードを動的に選択
- 7. ノード名、属性、テキストを含むすべてのXSL出力
- 8. 指定されたノードの後のすべてのノードを削除します
- 9. 特定のタイプのノードをペインで削除する
- 10. 特定のノードとその値をXElementから選択してください
- 11. XSL述語を使用して、別のノードの値に基づいてノードを選択し、この質問へ
- 12. xslを使用して特定のxmlノードの単語数を数えます
- 13. XSLTループ内のテキストを含むノードのみを選択
- 14. 特定の属性を含むxmlノードをすべて選択してください。
- 15. xmlツリーからノードの特定のグループを選択する - xpath
- 16. xmlが異なる場合、特定の子ノードを持つノードを選択してください
- 17. XSLT特定の部分文字列を含むすべてのノードを選択します。
- 18. linq to xml特定の要素を持つノードのみを選択します。
- 19. xsl:親ノードを除くxml全体をコピーしますが、その子ノードは保持します
- 20. Xpathを使用してXSDスキーマ内のノードを選択する
- 21. ビューで選択したときにブロック内のノードを開く
- 22. XMLルートの下の特定のノードを削除しますか?
- 23. Web.configの子ノードの値に基づいてノードを選択します。
- 24. XPathの選択ノード
- 25. JTree:すべてのノードをプログラムで選択する
- 26. RadTreeViewで選択したノードの親ノードを取得していますか?
- 27. ノードのすべての子要素をスカラーで選択します。
- 28. XML文書内からノードを選択していますか?
- 29. 与えられたノードのすべてのテキストとそのchldrenのテキストを選択するためのXPath式
- 30. 親ノードがLINQ to XMLの特定の値と等しい場合に子ノードを選択する方法
ありがとうございます! タグを除外できますか? – joe
これはスキップしませんタグ – Blerta
これは、アンカータグではないテキストを含むすべてのノードを選択します。彼はAタグになかったすべてのノードのTEXTを選択したかったのです。 – fearphage