[英]Escaping dollar sign in XML/XSLT
我正在處理使用XSLT轉換XML(來自舊版系統)的要求。 我在處理帶有美元符號的標簽時遇到了問題(這就是它們在舊版系統中的存儲和生成方式)。 XML示例文件示例:
<root>
<example>
<problem$tag>12354</problem$tag>
</example>
<thisTagIsOK>sunny day</thisTagIsOK>
</root>
這是我的xslt:
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="example">
<xsl:apply-templates select="problem$tag>"/>
print stuff
</xsl:template>
</xsl:stylesheet>
我試圖用\\和$來使美元逃脫,但兩者都沒有運氣。
有人可以幫我弄這個嗎? 謝謝
不幸的是,您將無法像使用XSLT那樣進行解析,因為XML規范禁止在元素名稱中使用$
符號(以及許多其他符號)。 根據XML規范 :
名稱中排除了ASCII符號和標點符號以及相當大的一組Unicode符號字符,因為它們在XML名稱在XML文檔之外使用的上下文中作為定界符更有用
我會說您可以選擇以下兩種方法之一:
_
替換$
符號(允許)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.