نمایش علامت سوال به جای کاراکتر فارسی هنگام خواندن فایل xml در جاوا - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

نمایش علامت سوال به جای کاراکتر فارسی هنگام خواندن فایل xml در جاوا

0 امتیاز
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;


public class Xml  {
    
   public static void main(String[] args) throws Exception
   {
        File fXmlFile = new File("C:\\Users\\sherkat\\Desktop\\proje\\test.xml");  
        
        InputStream inputStream= new FileInputStream(fXmlFile);
        
        Reader reader = new InputStreamReader(inputStream,"UTF-8");
        
        InputSource is = new InputSource(reader);
        
        is.setEncoding("UTF-8");     
        
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();    
        
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        
        Document doc = dBuilder.parse(is);   
        
        doc.getDocumentElement().normalize();
      
        NodeList nList = doc.getElementsByTagName("file");
        
        Node $t = nList.item(0);

        Element t = (Element)$t;   
    
        String str = t.getElementsByTagName("fail").item(0).getTextContent();  
        
        System.out.println(str);
   }
    
}

بالا کد من

فایل xml هم اینو نوشتم

<؟xml version = "1.0"?>

<file>

<fail>

فایل

</fail>

</file>

به جای فایل چهارتا مربع یا علامت سوال چاپ میکنه

سوال شده تیر 30, 1398  بوسیله ی امیدوار (امتیاز 872)   21 63 76

1 پاسخ

0 امتیاز

سلام

نکته بسیار مهم اینه که حتما فایل باید با اینکدینگ Unicode ذخیره بشه

 

و بعد این کد و نوشتم

       try
       {
        java.io.File fXmlFile = new java.io.File("C:\\Users\\sherkat\\Documents\\NetBeansProjects\\xml\\src\\xml\\test.xml");  
     
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();    
        
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        
        Document doc = dBuilder.parse(fXmlFile);   
        
        doc.getDocumentElement().normalize();
      
        NodeList nList = doc.getElementsByTagName("file");
        
        Node $t = nList.item(0);

        Element t = (Element)$t;   
    
        String str = t.getElementsByTagName("fail").item(0).getTextContent();  
        
        System.out.println(str);
       }
       catch(Exception ex)
       {
           System.out.println(ex);
       }

 

 

 

 

 

پاسخ داده شده تیر 31, 1398 بوسیله ی امیدوار (امتیاز 872)   21 63 76
...