首页 > 解决方案 > 如何从我无法在 xslt 中处理的 us-ascii 文档中删除不可见的“十六进制 c”字符

问题描述

我正在阅读 us-ascii 文档并尝试解析为 XML

<xsl:analyze-string select="unparsed-text($filename,'us-ascii')" regex="{$regex_clp}">

但是我收到了错误

XTDE1190: The unparsed-text file contains a character that is illegal in XML (line=51 column=2 value=hex c)

在寻求识别此字符时,我对所有可见字符和新行进行了查找和替换,并且在文档中留下了一个空白字符,这在执行 xslt 脚本时会在不同位置导致相同的错误。

XTDE1190: The unparsed-text file contains a character that is illegal in XML (line=1 column=2 value=hex c)

当我将此“十六进制 c”复制并粘贴到尝试剥离它的 Java 应用程序中,然后尝试使用退格按钮删除它时,它不会删除,而是我可以多次按下退格按钮,光标仍保持在同一位置在我粘贴的“十六进制 c”旁边。

我已在此处上传了此文件,其中包含“十六进制 c”字符 https://drive.google.com/file/d/1e0hkfraiSz39QEPV_zWn0ujyYcQknSCD/view?usp=sharing

知道这个字符是什么以及如何从文件中删除这个字符吗?

问候康泰

标签: xslttexthexascii

解决方案


好的,所以在我将文本文件发布到谷歌创建这个问题之后,我下载了 out.txt 只是为了让它在从谷歌上传和下载后仍然有同样的问题。

但是这次我可以在文本文件中看到一堆符号。我将它们复制并放入 OxygenXML 查找和替换以查看这些是 \f 换页符

我找到并替换为 \f 并解决了问题。

\f 标识(换页,0x0C)。

问候康泰


推荐阅读