나는이 코드를 가지고 있고, 동시에 "prueba3.xml"을 쓰고 싶다. 파일은 UTF8이지만, 파일을 쓰면 인코딩이 바뀌고 이상한 문자가 표시된다. format.setEncoding("UTF-8")
, 올바르게 작동하지 않습니다. jdom SAXBuilder
을 사용하여 출력 인코딩을 UTF8로 변경할 수 있습니까?Jdom을 사용하여 XML 읽기 및 쓰기의 출력 코딩을 동시에 변경하는 방법은 무엇입니까?
입력 XML은 :
public static void main(String[] args) throws FileNotFoundException, JDOMException, IOException
{
//Se crea un SAXBuilder para poder parsear el archivo
File xml = new File("c:\\prueba3.xml");
Document doc = (Document) new SAXBuilder().build(xml);
Element raiz = doc.getRootElement();
//Recorremos los hijos de la etiqueta raíz
List articleRow = raiz.getChildren("reg");
for (int i = 0; i < articleRow.size(); i++) {
Element row = (Element) articleRow.get(i);
List images = row.getChildren("dato");
for (int j = 0; j < images.size(); j++) {
Element row2 = (Element) images.get(j);
String texto = row2.getAttributeValue("desc") ;
String id = row2.getAttributeValue("id");
if ((texto != null) && (texto !="") && (id.equals("1"))){
row2.getAttribute("desc").setValue("Raúl").toString();
}
}
Format format = Format.getRawFormat();
format.setEncoding("UTF-8");
XMLOutputter xmlOutput = new XMLOutputter(format);
xmlOutput = new XMLOutputter(format);
xmlOutput.output(doc, new FileWriter("c:\\prueba3.xml"));
}
System.out.println("fin");
}
출력 XML : : 시간에 대한
<?xml version="1.0" encoding="UTF-8"?>
<prueba>
<reg id="576340">
<dato cant="856" id="6" val="-1" num="" desc="s" />
<dato cant="680" id="1" val="-1" num="" desc="Ra/>
<dato cant="684" id="5" val="-1" num="" desc="..?? ? ??????" />
<dato cant="1621" id="1" val="-1" num="" desc="Ra/>
<dato cant="1625" id="5" val="-1" num="" desc="Hola" />
</reg>
</prueba>
인사와 감사
<?xml version="1.0" encoding="UTF-8"?>
<prueba>
<reg id="576340">
<dato cant="856" id="6" val="-1" num="" desc="ñápás" />
<dato cant="680" id="1" val="-1" num="" desc="résd" />
<dato cant="684" id="5" val="-1" num="" desc="..да и вообем" />
<dato cant="1621" id="1" val="-1" num="" desc="hi" />
<dato cant="1625" id="5" val="-1" num="" desc="Hola" />
</reg>
</prueba>
이 코드입니다.
안녕, 덕분에 많이, 지금은 당신이 XD 나에게 그것을 설명하는 간단한 지금 보인다, 올바르게 작동합니다. 인사말. –