`
taimukang
  • 浏览: 183948 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

XML知识点备忘

阅读更多
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 备忘录源码.rar

    本文将深入探讨如何基于Android平台开发一个备忘录应用,通过分析“Android 备忘录源码.rar”中的代码,我们可以学习到以下几个关键知识点: 1. **用户界面设计**:从项目中包含的图片资源(如1_120916130147_1.png...

    android 作业 备忘录

    在Android平台上,开发一款备忘录应用是一项...以上是"android作业 备忘录"项目可能涉及的关键知识点,涵盖Android开发的多个方面。通过这样的实践项目,开发者可以深入理解Android应用的工作原理,并提升其编程技能。

    android备忘录实现

    在Android平台上,开发一个备忘录应用程序涉及到多个关键知识点,这些知识点构成了Android应用的基础结构以及特定功能的实现。以下是对"android备忘录实现"这一主题的详细解析: 1. **Android开发环境**:首先,`....

    android studio 简单备忘录

    以上是关于“android studio 简单备忘录”项目的一些核心知识点,涵盖了从界面设计到数据管理的全过程。实际开发时,还需要考虑性能优化、异常处理、用户体验等因素,确保应用的质量和用户体验。

    安卓备忘录

    下面将详细探讨这款应用背后涉及的IT知识点。 1. **Android开发环境**:Eclipse是早期Android开发者常用的一款IDE,它提供了丰富的工具集,包括代码编辑器、调试器、构建工具等,便于开发者快速构建Android应用程序...

    备忘录JAVA代码

    【标题】"备忘录JAVA代码"涉及到的核心知识点主要集中在Java编程语言以及备忘录功能的实现上。Java是一种广泛使用的面向对象的编程语言,它以其"一次编写,到处运行"的特性闻名,具备强大的跨平台能力。在这个项目中...

    备忘录闹钟源码

    本文将深入探讨“备忘录闹钟源码”中的关键知识点,包括备忘录系统的设计、闹钟机制的实现以及Android平台的相关开发技术。 1. **备忘录系统设计**: - **数据存储**:备忘录应用需要存储用户的笔记和提醒,这通常...

    Android程序研发源码Android 备忘录源码.zip

    在Android程序开发中,备忘录应用是一种常见的项目,它涉及到许多核心的Android技术知识点。这份"Android程序研发源码Android 备忘录源码.zip"包含了一个完整的备忘录应用的源代码,可以帮助开发者深入理解Android...

    用android studio写的一个备忘录

    下面将详细介绍Android Studio、Android开发以及备忘录应用的相关知识点。 **1. Android Studio** Android Studio是Google为Android开发者提供的强大工具,它基于IntelliJ IDEA,提供了一整套用于创建、调试和发布...

    android 智能备忘录

    在Android平台上,智能备忘录是一款实用的应用程序,它...通过上述知识点,我们可以理解智能备忘录是如何在Android平台上实现其功能的。无论是初学者还是有经验的开发者,都能从中学习到Android应用开发的各个方面。

    桌面widget备忘录

    对于【桌面widget备忘录】,开发过程中可能涉及以下几个关键知识点: 1. **AppWidgetProvider**: 这是Android系统中的一个抽象类,用于监听和响应小部件的事件,如添加、删除或更新。开发者需要继承这个类,并重写...

    安卓备忘录源码zip格式

    【标题】"安卓备忘录源码zip格式"所涉及的知识点主要集中在移动应用开发领域,特别是针对Android操作系统。在Android平台上开发应用程序,通常使用Java或Kotlin编程语言,配合Android Studio集成开发环境进行。本...

    Android_实战_备忘录

    下面将深入探讨相关知识点。 首先,我们关注的是UI设计。在Android开发中,布局界面是用户体验的关键部分。这个实例可能使用了Android的布局管理器,如LinearLayout、RelativeLayout或ConstraintLayout来创建备忘录...

    DELPHI个人备忘录

    在这个个人备忘录项目中,你可能涉及了以下几个关键知识点: 1. **用户界面设计**:个人备忘录的界面通常包含输入框用于添加备忘,一个显示备忘的列表,以及可能的时间选择器或日历控件来设定提醒时间。在DELPHI中...

    C# ASP.NET 模块 - 网站备忘录

    下面我们将详细探讨这个模块涉及的技术和知识点。 首先,备忘录功能的实现离不开前端和后端的协同工作。前端部分,开发者通常会使用HTML、CSS和JavaScript来构建用户界面,而在这个案例中,为了提供更好的用户体验...

    安卓开发备忘录源码

    下面我们将深入探讨这个项目中的关键知识点。 1. **安卓环境搭建**:首先,你需要一个完整的Android Studio开发环境,包括Java或Kotlin的编程语言支持。源码可能基于这两种语言之一,因为它们是安卓开发的主要语言...

    备忘录(带闹钟)

    1. **Android课程实训**:这表明这是一个学习Android编程时的实践项目,通常涉及基础的Android组件、布局设计、事件处理等核心知识点。 2. **已实现闹钟功能**:这意味着开发者不仅需要理解Android的UI设计,还需要...

    Android源码——备忘录源码.zip

    下面我们将详细探讨这个应用可能涉及的一些关键知识点。 首先,备忘录应用的界面通常由多个Activity和Fragment组成,每个Activity或Fragment负责不同的功能,如创建新的备忘录、查看备忘录列表或编辑已有的备忘录。...

    android 应用 源代码——备忘录

    以下将详细介绍备忘录应用开发中的关键知识点: 1. **界面设计**:Android应用的用户界面设计是至关重要的。备忘录应用通常包含列表视图(ListView)展示备忘条目,以及用于编辑和创建新备忘的编辑视图(EditText)...

    在 Eclipse 中构建备忘单

    - 配置插件的`plugin.xml`文件,添加必要的扩展点和贡献点。 2. **创建备忘单扩展**: - 定义备忘单的基本信息,如标题、描述等。 - 指定备忘单的图标、类别等。 3. **创建备忘单内容**: - 使用XML格式定义...

Global site tag (gtag.js) - Google Analytics