2010-10-01 33 views
0

是否可以檢查是否裝有xmlDoc.loadXML(XMLDATA); xml字符串無效?例如,如果有錯過的右括號或標籤。Microsoft.XMLDOM JS問題

+0

嗯,是的,如果它是有效的,但我認爲你的意思是*無效*你說*有效*。 – epascarello 2010-10-01 12:02:53

+0

@epascarello你是對的:)這是在我的腦海一團糟現在。 – bozhidarc 2010-10-01 12:55:57

回答

2

如果將字符串傳遞給loadXML這不是格式良好的XML文檔,則文檔對象將爲空(沒有childNodes),並且xmlDoc.parseError.errorCode將設置爲0以外的其他值。 xmlDoc.parseError.reason會給你一個用戶可讀的錯誤信息。

如果要測試代碼片段而不是完整文檔,請將其包裝在<x> ... </x>標記中,以便解析器只能看到一個根元素。

(有一些原因可能導致MSXML無法解析非格式正確的文檔,例如外部DTD子集或實體可能無法通過網絡訪問,或者DTD可能使用MSXML功能因爲這個原因你不能使用MSXML來解析XHTML文檔,但是如果不涉及DTD-cruft,解析器失敗意味着輸入沒有格式良好。)

+0

10倍@bobince我沒有看到你回答:) – bozhidarc 2010-10-01 12:53:16

0

有關解析錯誤的所有信息都隱藏在「xmlDoc.parseError