每当我运行一个以如下开头的XSLT页面时,就会出现标题中的错误:
<?xml version="1.0" encoding="windows-1256"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="../header.xsl"/>
<xsl:template match="/">
<xsl:call-template name="pstyle"/>
<xsl:call-template name="Validation"/>
<xsl:variable name="strLang">
<xsl:value-of select="//lang"/>
</xsl:variable>
<!-- ////////////// Page Title ///////////// -->
<title>
<xsl:value-of select="//ListStudentFinishedExam.Title"/>
</title>
注意:我在第一行之前删除了任何前导空格,但错误仍然存在!
答案 0 :(得分:341)
基于Xerces的工具会发出以下错误
The processing instruction target matching "[xX][mM][lL]" is not allowed.
当遇到XML declaration 以外的任何地方而不是XML文件的顶部。
这是一个有效的诊断信息;在这种情况下,其他XML解析器应该发出类似的错误消息。
<?xml ?>
之前存在一些空格或其他 可见内容
声明。强>
解决方案:删除空格或任何其他空格 XML声明之前的可见内容。
<?xml ?>
之前存在一些 不可见的内容
声明。最常见的是Byte Order Mark
(BOM)。
解决强>: 使用W3C page on the BOM in HTML.
XML内容中存在流浪<?xml ?>
声明。
当XML文件以编程方式组合或时,可能会发生这种情况
通过剪切和粘贴。只能有一个<?xml ?>
声明
在XML文件中,它只能位于顶部。
解决方案:搜索
<?xml
以不区分大小写的方式,删除除顶级XML之外的所有内容
来自档案的声明。
答案 1 :(得分:10)
对我来说,原因是一个xml中的以下代码中有2个
<?xml version="1.0" encoding="utf-8"?>
答案 2 :(得分:1)
上述错误的另一个原因是损坏的jar文件。我得到了相同的错误但是在运行单元测试时对于Junit。删除jar并再次下载它可以解决问题。
答案 3 :(得分:1)
答案 4 :(得分:0)
在我的情况下是一个配置文件中的错误路径:找不到文件(路径错误),它出现了这个异常:
从输入流配置时出错。最初的原因是处理 指令目标匹配&#34; [xX] [mM] [lL]&#34;是不允许的。
答案 5 :(得分:0)
我在5,000个目录(Project Gutenberg目录文件)中有50,000个rdf / xml文件时遇到了类似的问题。我用riot解决了问题(在jena发行版中)
目录为cache / epub / NN / nn.rdf(其中NN是数字)
位于所有文件所在目录上方的目录中,即位于缓存中
riot epub/*/*.rdf --output=turtle > allTurtle.ttl
这可能会产生许多警告,但结果是可以将其加载到jena中的格式(使用fuseki Web界面)。
非常简单(至少在这种情况下)。
答案 6 :(得分:0)
对于PHP,在开始打印XML之前放置以下代码:
while(ob_get_level()) ob_end_clean();
答案 7 :(得分:0)
调试您的 XML 文件。要么有空间,要么添加了更多或更少的标签。
为了更好地理解通过命令行构建项目。视窗:gradlew build
就我而言,AndroidManifest.xml 在第一行有一个空格
<Empty Row> // This Creates the issue
<?xml version="1.0" encoding="utf-8"?>
答案 8 :(得分:0)
这个错误确实破坏了 XMLEventReader
的内存效率,因为当输入的初学者有空格时会失败。
无论如何,因为已经编码使用它,我必须将 InputStream
或 Reader
源转换为 String
然后调用 trim()
以创建另一个读取器String
创建 XML 事件读取器。
伪代码:
Reader reader = new StringReader(
inputStreamToStringBuilder( getInputStream(), getContentCharset() )
.toString().trim()
);
XMLEventReader eventReader = inputFactory.createXMLEventReader(reader);
答案 9 :(得分:0)
检查您服务器的文件夹是否有闲散的 pom.xml 是值得的。
我发现我遇到了其他人用格式错误的 pom.xml 描述的问题,但是在我没想到服务器上的文件夹中。一个旧版本一直在不受欢迎的 D:
答案 10 :(得分:-1)
就我而言,我删除了所有空白区域,不需要代码。它奏效了