mysql - Mysql 到 XSLT 替换 \r\n
问题描述
我正在使用来自 MySQLi 查询的数据并将其放入最终替换 Word 中的 document.xml 文件的 XSLT 文件中。我遇到的问题是 \r 和 \n 进入我的 Word 文档。
XSLT 文件非常大,因此我不会在此处粘贴所有代码,但是,下面是其中一个字段的示例:
<w:p w:rsidR="00C61454" w:rsidRPr="00430555" w:rsidRDefault="00AE5B7C" w:rsidP="00C61454">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" w:cs="Segoe UI"/>
</w:rPr>
</w:pPr>
<w:proofErr w:type="spellStart"/>
<w:r w:rsidRPr="00AE5B7C">
<w:rPr>
<w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" w:cs="Segoe UI"/>
<w:sz w:val="18"/>
<w:szCs w:val="18"/>
</w:rPr>
<w:t><xsl:value-of select="comments"/></w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
</w:p>
在上面的代码中,注释被从 mysqli 查询放入 xslt。还有一些其他字段可能包含 \r\n,因此适用于整个文件的内容最好。
如果在 SELECT 脚本中进行替换有效,我也可以采用该方法,但是,作为新手,我不知道如何替换多个项目(\r 和 \n),也不知道用什么替换它们在 Word 中创建换行符/回车符。
解决方案
在 XSLT/XPath 中,normalize-space()
将合并嵌入的空白并修剪周围的空白。也许它可以帮助您处理不需要的\r\n
角色。
另请参阅如何在 XML 文件中添加换行符(换行符)? (换行符和换行符的语义可能取决于处理应用程序。)
最后,在 OOXML(Microsoft Word 的 DOCX 格式背后的标记标准)中,使用<w:br/>
(在运行元素w:t
内的文本元素之间w:r
)强制硬换行。
推荐阅读
- mysql - VB.net for MySQL 数据库中的 .open() 返回 System.Collections.Generic.KeyNotFoundException:字典中缺少给定键。如何解决?
- angular - Angular 组件没有被破坏
- python - 如何从字符串中引用 Python 中现有的类对象?
- node.js - 如何根据用户输入聚合 mongoDB 中的数据?
- python - 将字典的值放入图中
- c++ - 如何在具有模板函数的类中使用类型安全的联合(变体)?
- laravel - 组件不渲染
在 Laravel 5.8 中使用 Vuejs - office-ui-fabric - office ui 结构中的上下文菜单按钮和命令按钮有什么不同
- shell - 从床文件中消除行
- android - 如何从一个孩子那里检索数据