在XmlReader中使用它之前,是否有任何簡單/通用的方法來清理基于XML的數據源,以便我可以正常使用與XML上的十六進制字符限制不符的XML數據?注意:該解決方案需要處理使用UTF-8以外的字符編碼的XML數據源,例如,通過在XML文檔聲明中指定字符編碼。剝離無效的十六進制字符時不改變源代碼的字符編碼一直是主要的問題。刪除無效的十六進制字符應該只刪除十六進制編碼的值,因為您經常會在數據中恰好包含一個字符串(該字符串與十六進制字符匹配)中找到href值。背景:我需要使用符合特定格式(例如Atom或RSS提要)的基于XML的數據源,但希望能夠使用已發布的數據源(根據XML規范包含無效的十六進制字符)。在.NET中,如果您有一個表示XML數據源的Stream,然后嘗試使用XmlReader和/或XPathDocument對其進行解析,則會由于XML數據中包含無效的十六進制字符而引發異常。我當前解決此問題的嘗試是將Stream解析為字符串,并使用正則表達式刪除和/或替換無效的十六進制字符,但是我正在尋找一種性能更高的解決方案。
- 3 回答
- 0 關注
- 501 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消