回答
該轉化:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*" name="identity">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="comment()"/>
</xsl:stylesheet>
當在含有註釋節點任何XML文檔應用,像這樣:
<!-- foo -->
<a>
<!-- bar -->
<b>
<c><!-- baz --></c>
</b>
</a>
產生想要的結果(在同一文檔以註釋節點剝離):
<a>
<b>
<c/>
</b>
</a>
請注意:最根本,最有力的XSLT的設計模式的使用 - 在身份規則的使用和壓倒一切的。
+1,用於確定OP的真正含義。 :-) – LarsH 2010-09-14 17:00:24
+1好猜!同樣只有'* | @ *'模式:複製元素和屬性以及其他節點類型的內置規則。但是我們喜歡這樣匹配身份規則......;) – 2010-09-14 18:00:53
那麼,是否真的需要name =「identity」? – 2014-09-26 15:37:00
這聽起來像你想要複製只從輸入XML的評論。你是說你的樣式表複製了某些評論,但不是其他人?當你說「父節點中的註釋」時,你的意思是根節點的子節點(即所有元素之外)的子節點?
當我嘗試這種樣式表工作正常。具體的XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<comments>
<xsl:for-each select="//comment()">
<comment><xsl:value-of select="."/></comment>
</xsl:for-each>
</comments>
</xsl:template>
</xsl:stylesheet>
對輸入
<?xml version="1.0" encoding="UTF-8"?>
<!-- foo -->
<a>
<!-- bar -->
<b>
<c><!-- baz --></c>
</b>
</a>
運行給出了輸出
<?xml version="1.0" encoding="utf-8"?>
<comments>
<comment> foo </comment>
<comment> bar </comment>
<comment> baz </comment>
</comments>
如果這不是你想要的行爲,或者,如果你仍然無法在你的工作輸入,你可以發佈你的整個樣式表和你的輸入XML樣本,並顯示當前輸出是什麼?您還使用了哪種XSLT處理器?
- 1. 註銷/刪除div標籤的所有子節點在道場
- 2. 刪除jsTree中的所有節點
- 3. 刪除存在的所有節點
- 4. 如何從MKMapView中刪除所有註釋而不刪除藍點?
- 5. XSLT刪除所有文本節點
- 6. 刪除所有子節點與specfic類
- 7. 從父級刪除所有子節點?
- 8. 從QuickLaunch中刪除所有節點
- 9. XSLT:刪除所有,但給定節點
- 10. XSL刪除特定節點並添加新添加新節點
- 11. 刪除指定節點之後的所有節點
- 12. Sparql刪除節點的所有子節點
- 13. C# - LinkedList - 如何刪除指定節點後的所有節點?
- 14. XSL:刪除具有重複子項的父節點
- 15. 刪除除了一個之外的所有註釋引腳
- 16. 是否有VS2010宏刪除XML文件中的所有註釋
- 17. 如何刪除neo4j中的所有節點和所有關係
- 18. 刪除註釋iTextSharp
- 19. 刪除SQL註釋
- 20. Drupal 7刪除節點不會刪除所有相關文件
- 21. 刪除選定節點會刪除所有treenodes?
- 22. 如何提取html註釋和節點包含的所有html?
- 23. Drupal 6 - 如何禁用所有節點/ content_types上的註釋?
- 24. 不要刪除我的地圖上的所有註釋
- 25. 如何刪除NetBeans中的所有自動生成的註釋
- 26. XSL轉換註釋
- 27. 刪除Ruamel.yaml中的所有空行但不包含註釋
- 28. 如何刪除web.config文件中的所有註釋部分
- 29. 如何在VS2010中刪除.cs文件中的所有註釋?
- 30. 刪除所有* c文件中的第一個多行註釋
你可能想編輯你的問題。我提供了一個與您的意見中的要求和說明相匹配的解決方案。 – 2010-09-14 16:19:07