已知某xml文件格式大致如下:
读取的程序如下:
输出结果如下:
很奇怪,中文已经能正常输出了,但那个貌似是书名号的东西却变成成了问号.
<?xml version="1.0" encoding="UTF-8"?>
<main version='2'>
<item IsFolder="0" name="TWaver中文社区 » 想知道心中的她/他/它在哪里吗?" addtime="2010-09-04 11:55:00">http://twaver.servasoft.com/?p=1907</item>
<item IsFolder="0" name="TWaver中文社区 » TWaver GIS" addtime="2010-09-04 12:22:38">http://twaver.servasoft.com/?cat=100</item>
</main>
读取的程序如下:
import java.io.File;
import java.util.Properties;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class Xml {
public static void main(String[] args) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File("1.xml"));
Element rootElement = document.getDocumentElement();
NodeList list = rootElement.getElementsByTagName("item"); //以item为标记进行读取
for (int i = 0; i < list.getLength(); i++) {
Element element1 = (Element) list.item(i);
String result = i
+ 1
+ "__"
+ element1.getAttribute("name")
+ "__"
+ element1.getAttribute("IsFolder")
+ "__"
+ element1.getChildNodes().item(0).getNodeValue()
.toString();
// getAttribute("name") 用于获得name属性
// getAttribute("IsFolder") 用于获得IsFolder属性
System.out.println(result);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
输出结果如下:
1__TWaver中文社区 ? 想知道心中的她/他/它在哪里吗?__0__http://twaver.servasoft.com/?p=1907
2__TWaver中文社区 ? TWaver GIS__0__http://twaver.servasoft.com/?cat=100
很奇怪,中文已经能正常输出了,但那个貌似是书名号的东西却变成成了问号.