我的應用程序試圖解析XML,它拋出以下異常,解析XML拋出一個奇怪的無效性格特徵異常
無效的XML字符(Unicode:0×52)在該元素含量發現該文件。
我100%確定XML是有效的。但我仍然不知道爲什麼我會得到這個例外。
任何想法可能是這種異常的原因?
代碼我使用讀取XML文件是:
String policyFile = filename;
try {
String overRide = System.getProperty("TEST_POLICY_FILE");
if (overRide != null) {
policyFile = overRide;
}
// URL urlToPolicyFile = new URL(policyFile);
// InputStream is = urlToPolicyFile.openStream();
//InputStream is = getClass().getClassLoader().getResourceAsStream(policyFile);
// get XML Parser instance
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setIgnoringComments(true);
factory.setValidating(false);
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setEntityResolver(VacEntityResolver.getInstance());
InputSource inputSource = new InputSource(policyFile);
// parse input file
Document policyDocument = builder.parse(inputSource);
Builder policyBuilder = new Builder();
// load decl-policies file into cache
visitDeclarativePolicies(policyDocument, policyBuilder);
m_myPolicyCache = policyBuilder.getPolicyCache();
} catch (SAXException e) {
throw new InvalidPolicyFileException(policyFile);
} catch (ParserConfigurationException e) {
throw new InvalidPolicyFileException(policyFile);
} catch (IOException e) {
throw new InvalidPolicyFileException(policyFile);
}
線,
Document policyDocument = builder.parse(inputSource);
是拋出錯誤
一個有趣的事實之一關於這個問題,它只發生在生產環境中。相同的Xml文件在我的開發環境和測試環境中都不會產生任何問題。抱歉沒有分享這個文件。這是一個文件,我不應該分享。但是同樣的輸入文件在我的開發環境中沒有產生任何問題。
這個問題似乎對我來說很奇怪,因爲它引發'R'字符0x52的異常。
感謝您的回覆。我用更多的信息更新了我的帖子。請看一看。 – user1917893