
用XSLT生成纯文本文件,关键在于设置输出方法为 text,并避免生成任何XML/HTML结构(如开始标签、结束标签、属性、命名空间等)。默认情况下XSLT处理器会以XML方式序列化结果,必须显式声明文本输出行为。
设置 output method=”text”
在样式表的顶层 元素中指定 method="text",这是最核心的一步。它告诉处理器:不要添加XML声明、不转义特殊字符(如 、&)、不自动缩进、不补全标签。
示例:
避免使用 HTML/XML 输出惯用写法
生成文本时需特别注意以下常见陷阱:
立即学习“前端免费学习笔记(深入)”;
- 不要用
或字面量标签(如),它们会产生标记;- 不要依赖
或默认行为——若模板匹配元素节点且未定义文本处理逻辑,可能意外输出子元素名或混合内容;- 慎用
的separator属性(XSLT 2.0+)——它只对节点集有效,但若节点含子元素,仍可能触发默认规则;- 用
显式插入换行、空格、制表符等不可见字符,例如表示换行。控制空白与换行
XML源中的空白可能被保留并输出,影响文本格式。建议:
- 用
移除所有元素间的无关空白; - 对需要保留缩进或空行的模板,用
精确控制; - 避免在模板中写多行字面文本(如
),因为XSLT解析器可能规范化换行符;改用第一行 第二行
分段。
处理特殊字符与编码
文本输出不自动转义,所以直接输出
&、是安全的——但前提是你的数据本身不含非法字符(如控制字符)。需注意: - 不要依赖