2012-09-16 41 views
0

我有一個XML文件,其中包含一些轉義字符。當我試圖讀取在VB中使用xpathdocument類時,我得到的解析爲'''<'字符,十六進制值0x3C,不能包含在名稱中,行#,位置#。由於未轉義字符而讀取XML文件時出現分析錯誤

如何在將該xml文件傳遞給xpathdocument之前替換該轉義字符?該xml文件是:

 <classes> 
     <class>Class&</class> 
     <name>.net></name> 
     </classes> 
+0

無論這個「xml」文件不應該放入它們。它不是有效的xml。 –

+0

xml文件是手動創建的,並提供給我的應用程序,我將在那裏讀取..因此,有可能在xml文件中輸入轉義字符..文件是使用xmlwriter或xmldocument編寫的 –

回答

1

在不知道完整的上下文的情況下回答您的問題是不可能的。這可能是因爲<是有效的,但<之前出現的東西是問題的根源。

最好的方法是返回到任何你得到XML文件並請求語法正確的替換。

W3C的XML Validator對於查找XML錯誤非常有用。

+0

對不起,我沒有得到你所告訴的 –

+0

你的例子是這是我想要解釋的完美例證。這個問題與任何<角色無關。第一個問題是沒有被編碼的​​'&''之後Class';第二個問題是遵循未編碼'>''.net'。 最好的解決方案仍然是去源獲取一個有效的XML文件。 –

0

我同意,最好的解決辦法是得到一個合適的文件,但是,有時候這可能會很困難。

我有一位客戶,我必須首先作爲文本文件逐行瀏覽其XML文件,並對換碼字符進行替換。這時我纔將其加載到我的XmlDocument。有效。 這是不理想的,可能導致其他問題如果該XML文件很大或將改變很多。 (此外,如果有人帶着你身後需要保持你的代碼,但它可能會奏效。)希望這會有所幫助,但要記住,如果你做這種方式,你在後面冒着運行時錯誤,如果你還沒有佔到所有您將在xml文件中遇到的場景。

相關問題