我假設評論中的引號是相同的,普通的qoute字符"
- 不是在顯示此問題時出現的印刷上不同的開始和結束引用。
如果這種假設是錯誤的,只需將下面的表達式中的標準報價替換爲相應的報價即可。
使用(如果有問題的評論是在文檔中的第一個):
substring-before(substring-after(//comment(), '"'), '"')
這將產生字符串(不帶引號):
「X 「
而對於引號中的第二個字符串使用:
substring-before(
substring-after(
substring-after(
substring-after(//comment(), '"'),
'"'),
'"'),
'"')
XSLT - 基於驗證(因爲XSLT樣式表必須是我們與實體"
替換表達式引號一個良好的XML文檔 - 只是爲了避免因嵌套報價錯誤):
<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="/">
"<xsl:copy-of select="substring-before(substring-after(//comment(), '"'), '"')"/>"
=============
"<xsl:copy-of select=
"substring-before(substring-after(substring-after(substring-after(//comment(), '"'), '"'), '"'), '"')"/>"
</xsl:template>
</xsl:stylesheet>
當這種轉變是對這個XML文檔應用:
<html>
<body>
Hello.
<!-- Title: " X " Tags: " Y " -->
</body>
</html>
兩個XPath表達式求值這兩個評價結果將被複制到輸出(引號,以示覆制的確切字符串):
" X "
=============
" Y "
你使用JavaScript?然後請提及或添加標籤或兩者。 –
你在用什麼語言來實現它? –