1.xml名称空间通过一系列属性来声明,这些属性的名字必须是xmlns或以xmlns:作为前缀
2.名称空间声明的两个形式:
<元素名 xmlns:prefixname="URI"> 其中prefixname表示名称空间前缀
<元素名 xmlns="URI"> 声明了一个缺省的名称空间,表示该元素及其内容中所有没有前缀的元素都属于该缺省名称空间。
【注意】:在声明名称空间时,选择的URI不需要指向实际内容,也可以不存在任何东西,它只是形式上的标识符,唯一目的是提供一个唯一的名字。
3.xml文档解析API:DOM、SAX
DOM:document object model, W3C官方推荐
SAX:simple API for xml, xml社区标准
DOM和SAX只是定义了标准接口,没有实现
4.Apache的Xerces是一个应用广泛的解析器,它实现了DOM和SAX的接口。如SAX定义的解析器接口是org.xml.sax.XMLReader,Xerces中提供的实现类是org.apache.xerces.parsers.SAXParser,在应用程序中可以采用如下方式访问XML文档:
org.xml.sax.XMLReader sp= new org.apache.xerces.parsers.SAXParser();
FileInputStream fis = new FileInputStream("test.xml");
InputSource is = new InputSource(fis);
sp.setContentHandler(new MyContentHandler());//设置内容事件处理器
sp.parse(is);
其它的解析器还有oracle的xdk
5、JAXP(Java API for XML Process)
屏蔽了不同厂商解析器的具体实现,可以是开发人员以一种标准的方式对XML编程
6.使用DOM接口解析xml文件的步骤:
(1)得到工程类实例 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
(2)利用工程类实例获得DOM解析器对象:DocumentBuilder db = dbf.newDocumentBuilder();
(3)利用解析器对象的parse方法解析XML文档,返回一个表示整个文档的documen对象:
Document doc = db.parse("src/Student.xml");
7.JDOM解析xml文档:
获得SAXBuilder对象实例:SAXBuilder saxbd = new SAXBuilder();
获得表示整个文档的Document对象:Document doc = saxbd.build("Student.xml");
获得xml文档的跟节点:Element root = doc.getRootElement();
处理.........
输出,获得输出对象:XMLOutputter xmlout = new XMLOutputter();
设置输出格式:Format fm =Format.getPrettyFormat();fm.setIndent(" ");xmlout.setFormat(fm);
输出回文件:xmlout.output(doc, new FileOutputStream("src/Student.xml"));
输出到标准输出:xmlout.output(doc, System.out);
可见,用JDOM处理XML文档要比直接用DOM API要简化和方便得多。
8、DOM4J 比JDOM具有更好的灵活性,性能也全面优于JDOM.
DOM4J采用了访问者模式对xml文档进行解析和访问,编程时只要实现一个继承自VisitorSupport类(该类实现了DOM4J的Visitor接口,但是都是空实现)即可,例如:
public class VisitorTest {
/**
* 以访问者模式解析XML文档。访问者模式通常用于处理对象树结构,树种的每一个节点都可以
* 接收一个访问者对象,节点对象向访问者对象传递自身,而访问者对象调用节点对象的操作。
* 这这种模式一般用于节点类型比较固定的应用。
*/
public static void main(String[] args) {
SAXReader sr = new SAXReader();
try {
Document doc = sr.read(new File("src/Student.xml"));
doc.accept(new MyVisitor());
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
class MyVisitor extends VisitorSupport{
public void visit(Attribute node) {
System.out.println("Attribute: " + node.getName() + "="+node.getValue());
}
public void visit(Element node) {
if (node.isTextOnly()){
System.out.println("Element: " + node.getName() + " "+ node.getText());
}else{
System.out.println("---------" + node.getName() +"--------");
}
}
public void visit(ProcessingInstruction node) {
System.out.println("PI: " + node.getTarget() + " " +node.getText());
}
}
DOM4J保存xml文档:
OutputFormat fm = new OutputFormat(" ",true);
try {
XMLWriter xw = new XMLWriter(newFileWriter("student1.xml"),fm);
xw.write(doc);
xw.flush(); //刷新缓冲,否则缓冲区的内容不会立即写入文件
} catch (IOException e) {
e.printStackTrace();
}
分享到:
相关推荐
本文将深入探讨如何基于Android平台开发一个备忘录应用,通过分析“Android 备忘录源码.rar”中的代码,我们可以学习到以下几个关键知识点: 1. **用户界面设计**:从项目中包含的图片资源(如1_120916130147_1.png...
在Android平台上,开发一款备忘录应用是一项...以上是"android作业 备忘录"项目可能涉及的关键知识点,涵盖Android开发的多个方面。通过这样的实践项目,开发者可以深入理解Android应用的工作原理,并提升其编程技能。
在Android平台上,开发一个备忘录应用程序涉及到多个关键知识点,这些知识点构成了Android应用的基础结构以及特定功能的实现。以下是对"android备忘录实现"这一主题的详细解析: 1. **Android开发环境**:首先,`....
以上是关于“android studio 简单备忘录”项目的一些核心知识点,涵盖了从界面设计到数据管理的全过程。实际开发时,还需要考虑性能优化、异常处理、用户体验等因素,确保应用的质量和用户体验。
下面将详细探讨这款应用背后涉及的IT知识点。 1. **Android开发环境**:Eclipse是早期Android开发者常用的一款IDE,它提供了丰富的工具集,包括代码编辑器、调试器、构建工具等,便于开发者快速构建Android应用程序...
【标题】"备忘录JAVA代码"涉及到的核心知识点主要集中在Java编程语言以及备忘录功能的实现上。Java是一种广泛使用的面向对象的编程语言,它以其"一次编写,到处运行"的特性闻名,具备强大的跨平台能力。在这个项目中...
本文将深入探讨“备忘录闹钟源码”中的关键知识点,包括备忘录系统的设计、闹钟机制的实现以及Android平台的相关开发技术。 1. **备忘录系统设计**: - **数据存储**:备忘录应用需要存储用户的笔记和提醒,这通常...
在Android程序开发中,备忘录应用是一种常见的项目,它涉及到许多核心的Android技术知识点。这份"Android程序研发源码Android 备忘录源码.zip"包含了一个完整的备忘录应用的源代码,可以帮助开发者深入理解Android...
下面将详细介绍Android Studio、Android开发以及备忘录应用的相关知识点。 **1. Android Studio** Android Studio是Google为Android开发者提供的强大工具,它基于IntelliJ IDEA,提供了一整套用于创建、调试和发布...
在Android平台上,智能备忘录是一款实用的应用程序,它...通过上述知识点,我们可以理解智能备忘录是如何在Android平台上实现其功能的。无论是初学者还是有经验的开发者,都能从中学习到Android应用开发的各个方面。
对于【桌面widget备忘录】,开发过程中可能涉及以下几个关键知识点: 1. **AppWidgetProvider**: 这是Android系统中的一个抽象类,用于监听和响应小部件的事件,如添加、删除或更新。开发者需要继承这个类,并重写...
【标题】"安卓备忘录源码zip格式"所涉及的知识点主要集中在移动应用开发领域,特别是针对Android操作系统。在Android平台上开发应用程序,通常使用Java或Kotlin编程语言,配合Android Studio集成开发环境进行。本...
下面将深入探讨相关知识点。 首先,我们关注的是UI设计。在Android开发中,布局界面是用户体验的关键部分。这个实例可能使用了Android的布局管理器,如LinearLayout、RelativeLayout或ConstraintLayout来创建备忘录...
在这个个人备忘录项目中,你可能涉及了以下几个关键知识点: 1. **用户界面设计**:个人备忘录的界面通常包含输入框用于添加备忘,一个显示备忘的列表,以及可能的时间选择器或日历控件来设定提醒时间。在DELPHI中...
下面我们将详细探讨这个模块涉及的技术和知识点。 首先,备忘录功能的实现离不开前端和后端的协同工作。前端部分,开发者通常会使用HTML、CSS和JavaScript来构建用户界面,而在这个案例中,为了提供更好的用户体验...
下面我们将深入探讨这个项目中的关键知识点。 1. **安卓环境搭建**:首先,你需要一个完整的Android Studio开发环境,包括Java或Kotlin的编程语言支持。源码可能基于这两种语言之一,因为它们是安卓开发的主要语言...
1. **Android课程实训**:这表明这是一个学习Android编程时的实践项目,通常涉及基础的Android组件、布局设计、事件处理等核心知识点。 2. **已实现闹钟功能**:这意味着开发者不仅需要理解Android的UI设计,还需要...
下面我们将详细探讨这个应用可能涉及的一些关键知识点。 首先,备忘录应用的界面通常由多个Activity和Fragment组成,每个Activity或Fragment负责不同的功能,如创建新的备忘录、查看备忘录列表或编辑已有的备忘录。...
以下将详细介绍备忘录应用开发中的关键知识点: 1. **界面设计**:Android应用的用户界面设计是至关重要的。备忘录应用通常包含列表视图(ListView)展示备忘条目,以及用于编辑和创建新备忘的编辑视图(EditText)...
- 配置插件的`plugin.xml`文件,添加必要的扩展点和贡献点。 2. **创建备忘单扩展**: - 定义备忘单的基本信息,如标题、描述等。 - 指定备忘单的图标、类别等。 3. **创建备忘单内容**: - 使用XML格式定义...