XML语法错误?

时间:2012-05-04 00:13:08

标签: xml

<?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 个答案:

答案 0 :(得分:1)

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

我怀疑是解析器无法处理自闭标签。您可以尝试通过使用结束标记来绕过这个缺陷:

<member name="notificationEvent" target="NotificationEvent"></member>

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果您正在使用本土解析器,那么必须强烈怀疑它是解析器中的错误;您可以通过测试XML是否被主流解析器(如Apache Xerces)接受来轻松确定。

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

答案 3 :(得分:0)

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

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

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

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

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

您是否使用此工具检查了其他任何XML文件?