2014-03-25 323 views
0

雖然我運行下面的代碼,但會發生異常「java org.w3c.dom.domexception invalid_character_err指定了無效或非法xml字符」。「java org.w3c.dom.domexception invalid_character_err指定了無效或非法的xml字符」

請幫我

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
       DocumentBuilder builder=factory.newDocumentBuilder(); 
       org.w3c.dom.Document document = builder.parse("F:/shared/Manideep messg.xml"); 
       ((org.w3c.dom.Document) document).getDocumentElement().normalize(); 
       Element root = document.getDocumentElement(); 
       Collection<Chat> ch = new ArrayList<Chat>(); 
       ch.add(new Chat()); 

       System.out.println(document.getElementsByTagName("chat")); 

//creating user message tag 
       String conct = fromUser+"-"+toUser; 
       String[] split = conct.split(" "); 

       for (int i = split.length - 1; i >= 0; i--) 
       { 
       usersTag += (split[i] + " "); 
       } 

       msgTag=usersTag.trim(); 


        org.w3c.dom.Element name=null; 
       if(document.getElementsByTagName(msgTag).getLength()==0) 
       { 
        System.out.println("in if condiotion"); 
         name = (org.w3c.dom.Element) ((org.w3c.dom.Document) document).createElement(msgTag); 
         // ((Node) name).appendChild(((org.w3c.dom.Document) document).createTextNode(i.getMessage())); 


    ((Node) root).appendChild((Node) name); 
         System.out.println("--------end of if"); 
       } 
       NodeList list = document.getElementsByTagName(msgTag); 
       name= (Element) list.item(0); 
       System.out.println("Taag : "+name); 
+1

錯誤很明顯:您打開的XML文檔格式不正確。 – chrylis

+0

謝謝Chrylis。這裏是我的XML文件。 <?XML版本= 「1.0」 編碼= 「UTF-8」 獨立= 「否」?> 您好 WHR - [R U& in U.S. hw r u?罰款.. user2173142

+0

這對我來說很好。你的代碼在哪裏失敗?它是在解析你的文檔,還是在以後建立新節點的時候?你可以發佈堆棧跟蹤和行號信息來匹配代碼片段嗎? – dethorpe

回答

0

我就遇到了這個錯誤執行代碼這是下一個Java運行時8與Java 7編譯時。無論是用Java 7執行較舊的二進制文件還是重新構建,然後使用Java 8執行,都可以避免該錯誤。