# XML和反射
可扩展标记语言,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。 在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。
案例:输出湖北和山东的城市名称
public class test {
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
Document doc = reader.read("D:\\MyWork\\week05_day02\\src\\lesson\\city.xml");
Element root = doc.getRootElement();
System.out.println(root.getName());
List<Element> city = root.elements();
for (Element element : city) {
System.out.println(element.getName());
Iterator it = element.elementIterator();
while (it.hasNext()) {
Element e1 = (Element) it.next();
System.out.printf(e1.getName()+"--"+e1.getText());
}
System.out.println();
}
Element msg3 = root.addElement("贵州");
Element context = msg3.addElement("毕节");
context.setText("hhhhh");
FileOutputStream out = new FileOutputStream("D:\\MyWork\\week05_day02\\src\\lesson\\city.xml");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(out,format);
writer.write(doc);
writer.close();
}
}
反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
@Test//获取Class --范围:所有的字节码文件
public void test1() throws ClassNotFoundException {
//方式1--通过类名
Class c=Dog.class;//Dog.java编译后的字节码文件
Class c1=Book.class;//Book.java编译后的字节码文件
//方式2--通过对象
Class c3 = new Dog().getClass();
//方式3--通过类路径
Class c4 = Class.forName("reflect1.Book");
}