2012-05-04 47 views
-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]「是不允許的。XML語法錯誤?

不說,哪一行,並沒有發出任何更多的信息。任何想法發生了什麼?

+3

使用哪種軟件? –

+1

什麼程序/語言? – haroldcampbell

+0

使用公司的內部軟件。但是這看起來像是XML錯誤,而不是內部工具錯誤。 – Arjun

回答

0

它是在文件開頭的<?xml之前的額外空間嗎?

+0

Theres在那裏沒有空間。複製時插入了空格。 – Arjun

+0

再次檢查!該錯誤消息與prolog之前的空白一致。 –

1

我驗證了XML,並且沒有語法錯誤。

我懷疑它是不處理自閉標籤的解析器。您可以嘗試使用關閉標籤來規避這一缺陷:

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

+1爲自閉標籤的想法。 –

0

如果你使用的是自家種的解析器則必須有強烈懷疑它在語法分析器中的錯誤;您可以通過測試XML是否被主流解析器(如Apache Xerces)接受來輕鬆確定。

如果它不是解析器中的錯誤,那麼在XML聲明之前幾乎肯定是空白的。

0

「處理指令目標匹配」[xX] [mM] [lL]「是不允許的。」

這聽起來就像是你正在使用的解析器/驗證是治療xml爲「處理指令」(不管它是你的工具...)

我認爲這是第一線,導致該問題。儘管按照XML標準它應該在那裏,但是嘗試一下就沒有它。

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

請注意,如果實際工作有一個與工具

你檢查,使用此工具的實際工作任何其他的XML文件有問題?