2009-07-02 44 views
4

有許多教程介紹如何根據模式驗證XML。但是現在我只想驗證XML語法,而不是針對模式。這意味着我只想檢查XML是否合適,確定是否存在關閉或打開標籤,但這些標籤沒有正確完成。僅在C#中驗證XML語法

無論如何,我可以在.Net中做到這一點嗎?

回答

5

或者如果您使用.NET 3.5,則可以使用XElement.Load()

LINQ to XML的加載功能是 建立於XmlReader。因此,您 可能會捕獲由XmlReader.Create 過載方法拋出的 和 方法讀取和解析文檔的任何異常。

4

只需在XmlReader中打開它並閱讀到最後。如果它沒有拋出異常,它就會形成。

0

它可能會更容易使用XmlDocument來代替。

+0

這將工作,但它也會嘗試加載到內存中的整個東西,並創建一個DOM。啊。 XmlReader會更快。 – 2009-07-02 02:48:11

+0

是的,這是完全正確的。 XmlDocument更容易,而不是更快。我的想法是,由於目標是驗證文件,如果validatOR是非常正確的,那將是最好的。由於該過程可能會結束I/O限制,因此除非文件特別大,否則我認爲增加的費用不會成爲問題。 – 2009-07-02 16:23:58