

新闻资讯
技术学院用XSLT生成纯文本需设method="text"并显式声明,配合strip-space、避免模板空白、用xsl:text控格式;示例CSV输出每行严格两列无标签。
用 XSLT 生成纯文本文件,核心是设置 output method="text",并确保模板中只输出文本内容(不产生标签、空格、换行等意外字符)。
在 XSLT 根元素 或 内,必须显式声明:
注意:
• method="text" 关闭 HTML/XML 序列化逻辑,避免转义、自动闭合、DOCTYPE 等行为;
• 显式指定 encoding(如 UTF-8)可防止中文乱码;
• 不要同时设置 indent="yes"(对 text 无效,且部分
处理器会警告)。
XSLT 默认会把源 XML 中的文本节点、空白、标签结构都参与处理。生成纯文本时需主动抑制无关内容:
忽略源文档所有元素间的空白文本节点; 精确控制换行、制表符、空格等格式字符; —— 若未定义匹配模板,可能输出意外文本(如默认规则会输出所有子文本)。假设输入 XML 是一组人员信息,想导出为逗号分隔的纯文本:
说明:
• 安全插入换行(
是 LF 字符),避免因模板换行引入不可控空白;
• 没有 ,所以不会透传源文档中多余的空白;
• 输出结果是严格两列、每行一条记录的纯文本,无 XML 声明、无标签、无额外空行。
文本输出容易被隐藏字符干扰(如 BOM、CR/LF 差异、零宽空格)。建议:
file -i output.txt 或 hexdump -C output.txt | head 验证编码和开头字符; 中加 omit-xml-declaration="yes"(虽对 text 无 XML 声明,但某些处理器仍可能加 BOM,此时可尝试设 byte-order-mark="no",XSLT 2.0+ 支持)。