-1
<?xml version="1.0" encoding="UTF-8"?>
    <definition assembly="Service" version="1.0">
        <structure name="Request">
            <member name="notificationEvent" target="NotificationEvent"/>
         </structure>
    </definition>

我得到一个异常说“不允许匹配“[xX][mM][lL]”的处理指令目标。

没有说哪一行,也没有给出更多信息。任何想法发生了什么?

4

4 回答 4

1

我验证了 XML,并且没有语法错误。

我怀疑是解析器不处理自闭标签。您可以尝试通过使用结束标签来规避此缺陷:

<member name="notificationEvent" target="NotificationEvent"></member>
于 2012-05-04T00:40:01.873 回答
0

如果您使用的是国产解析器,则必须强烈怀疑这是解析器中的错误;您可以通过测试 XML 是否被主流解析器(如 Apache Xerces)接受来轻松确定这一点。

如果它不是解析器中的错误,那么几乎可以肯定它是 XML 声明之前的空白。

于 2012-05-04T09:01:27.843 回答
0

“不允许与“[xX][mM][lL]”匹配的处理指令目标。”

这听起来像是您正在使用的解析器/验证器,它被视为xml“处理指令”(无论您的工具中有什么......)

我认为这是导致问题的第一行。即使根据 XML 标准它应该存在,但如果没有它,请尝试一次。

<definition assembly="Service" version="1.0">
    <structure name="Request">
       <member name="notificationEvent" target="NotificationEvent"/>
    </structure>
</definition>

请注意,如果这确实有效,则该工具有问题

您是否使用此工具检查过任何其他实际有效的 XML 文件?

于 2012-05-11T23:34:20.520 回答
0

<?xml它是文件开头之前的额外空间吗?

于 2012-05-04T00:16:30.793 回答