`
jeff83
  • 浏览: 7562 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
社区版块
存档分类
最新评论

dom4j的基本操作

阅读更多
# import java.io.FileInputStream;
# import java.io.FileNotFoundException;
# import java.io.FileOutputStream;
# import java.io.IOException;
# import java.io.InputStream;
# import java.io.OutputStreamWriter;
# import java.io.Writer;
# import java.util.Iterator;
# import java.util.List;
# import org.dom4j.Document;
# import org.dom4j.DocumentException;
# import org.dom4j.DocumentHelper;
# import org.dom4j.Element;
# import org.dom4j.io.OutputFormat;
# import org.dom4j.io.SAXReader;
# import org.dom4j.io.XMLWriter;
# import org.xml.sax.EntityResolver;
# import org.xml.sax.InputSource;
# import org.xml.sax.SAXException;
#
# public class MyTest {
#   Document doc = null;
#
#   public MyTest() throws DocumentException, IOException, SAXException {
#     Document doc = loadXML("class.xml"); // 载入XML文档
#     System.out.println(doc.asXML());
#     printDoc(doc); // 打印XML文档
#     storeDoc(doc, "new.xml"); // 把XML文档存入硬盘
#     doc = valideDoc("class.xml"); // 校验dtd XML文档
#     printDoc(doc);
#     doc = validateDocBySxd("classSchema.xml"); // 校验Schema文档
#     printDoc(doc);
#     String url = getClass().getResource("/xml/dom4j/wkjava/class.xsd").toString();
#     doc = validateDocBySxd("classSchema.xml", url); // 校验Schema文档(俩参数)
#     printDoc(doc);
#     doc = createDoc(); // 创建Schema文档
#     storeDoc(doc, "root.xml");
#     doc = validateDocBySxd("classSchema.xml");
#     updateZip(doc, "102202"); // 在文档中修改原属
#     printDoc(doc);
#     doc = validateDocBySxd("classSchema.xml");
#     printNames(doc); // 打印文档中所有学生名字
#     System.out.println(getStudentCount(doc));
#   }
#
#   public static void main(String[] args) {
#     try {
#       new MyTest();
#     } catch (FileNotFoundException e) {
#       e.printStackTrace();
#     } catch (DocumentException e) {
#       e.printStackTrace();
#     } catch (IOException e) {
#       e.printStackTrace();
#     } catch (SAXException e) {
#       e.printStackTrace();
#     }
#   }
#
#   public Document loadXML(String xmlfile) throws FileNotFoundException, DocumentException {
#     SAXReader reader = new SAXReader();
#     doc = reader.read(new FileInputStream(xmlfile));
#     return doc;
#   }
#
#   public void printDoc(Document doc) throws IOException {
#     Writer out = new OutputStreamWriter(System.out, "gb2312");
#     OutputFormat format = OutputFormat.createPrettyPrint();
#     XMLWriter writer = new XMLWriter(out, format);
#     writer.write(this.doc);
#     out.flush();
#   }
#
#   public void storeDoc(Document doc, String filename) throws IOException {
#     Writer out = new OutputStreamWriter(new FileOutputStream(filename), "utf-8");
#     OutputFormat format = OutputFormat.createPrettyPrint();
#     XMLWriter writer = new XMLWriter(out, format);
#     writer.write(this.doc);
#     printDoc(doc);
#     out.close();
#   }
#
#   public Document valideDoc(String xmlfile) throws DocumentException, IOException {
#     EntityResolver resolver = new EntityResolver() {
#       public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
#         if (publicId.equals("//class from weiking")) {
#           InputStream in = new FileInputStream("class.dtd");
#           return new InputSource(in);
#         }
#         return null;
#       }
#     };
#     SAXReader reader = new SAXReader(true);
#     reader.setEntityResolver(resolver);
#     Document doc = reader.read(new FileInputStream(xmlfile));
#     return doc;
#   }
#
#   public Document validateDocBySxd(String xmlfile) throws SAXException, DocumentException, IOException {
#     SAXReader reader = new SAXReader(true);
#     reader.setFeature("http://apache.org/xml/features/validation/schema", true);
#     Document doc = reader.read(new FileInputStream(xmlfile));
#     return doc;
#   }
#
#   public Document validateDocBySxd(String xmlfile, String SchemaUrl) throws SAXException, FileNotFoundException,
#       DocumentException {
#     SAXReader reader = new SAXReader(true);
#     reader.setFeature("http://xml.org/sax/features/validation", true);
#     reader.setFeature("http://apache.org/xml/features/validation/schema", true);
#     reader.setFeature("http://apache.org/xml/features/validation/schema-full-checking", true);
#     reader.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", SchemaUrl);
#     Document doc = reader.read(new FileInputStream(xmlfile));
#     return doc;
#   }
#
#   public Document createDoc() {
#     Document doc = DocumentHelper.createDocument();
#     Element root = doc.addElement("root");
#     Element author2 = root.addElement("author").addAttribute("name", "Toby").addAttribute("location", "Germany").addText(
#         "Tobias Rademacher");
#     Element author1 = root.addElement("author").addAttribute("name", "James").addAttribute("location", "UK").addText(
#         "James Strachan");
#     return doc;
#   }
#
#   public void updateZip(Document doc, String zip) {
#     String xpath = "/Class/Teacher/zip";
#     Element e = (Element) doc.selectSingleNode(xpath);
#     e.setText(zip);
#   }
#
#   public void printNames(Document doc) {
#     String xpath = "/Class/Students/Student/name";
#     List list = doc.selectNodes(xpath);
#     for (Iterator i = list.iterator(); i.hasNext();) {
#       Element e = (Element) i.next();
#       System.out.println(e.element("last").getText() + e.valueOf("first"));
#     }
#   }
#
#   public int getStudentCount(Document doc) {
#     int count = 0;
#     String xpath = "count(/Class/Students/Student)";
#     count = doc.numberValueOf(xpath).intValue();
#     // String value = doc.valueOf(xpath);
#     // count = Integer.parseInt(value);
#     return count;
#   }
# }
分享到:
评论

相关推荐

    DOM4J基本操作整理.md

    dom4j基本操作整理

    dom4j基本操作文档

    在实际使用中,以下是一些基本操作的例子: 1. **读取XML文档**:可以通过`DocumentFactory`创建`DocumentBuilder`,然后使用`parse()`方法加载XML文件。例如: ```java DocumentFactory factory = ...

    dom4j学习资料_dom4j-1.6.1-API.chm

    《Dom4j的使用.doc》文档很可能是对DOM4J基本操作和常见用法的详细教程。它可能会涵盖如何创建XML文档,添加元素,设置属性,处理文本节点,以及如何使用XPath进行查询。此外,文档可能还会讲解如何解析已存在的XML...

    dom4j基本例子

    总的来说,这个"dom4j基本例子"涵盖了DOM4J的基本操作,包括XML的解析、元素的增删改查以及使用XPath进行查询。通过学习和理解这个例子,你可以更好地掌握DOM4J库,并将其应用到自己的XML处理任务中。如果你深入研究...

    dom4j_1.6.1.jar dom4j_2.1.0.jar

    4. **操作XML**:DOM4J支持添加、删除、修改XML元素、属性和文本。例如,可以使用`Element.addElement()`来添加子元素,`Attribute.setValue()`来改变属性值。 5. **XPath查询**:DOM4J支持XPath表达式,允许开发者...

    DOM4J帮助文档及使用教程

    1. **介绍**:解释DOM4J的基本概念和设计目标,以及如何在项目中引入DOM4J库。 2. **安装与配置**:指导用户如何将DOM4J添加到Java项目中,包括Maven依赖、Gradle构建脚本或者直接添加JAR文件。 3. **基本概念**:...

    dom4j 2.1.1

    3. 功能强大:DOM4J不仅支持基本的XML解析,还提供了高级特性,如XPath表达式支持、SAX和DOM的集成、XML Schema验证、XML编写和输出等。XPath是一种强大的查询语言,能够方便地定位XML文档中的节点。 4. 扩展性:...

    dom4j的Java工程

    通过研究其中的代码,你可以掌握DOM4J处理XML的基本技巧,并理解如何将其应用到实际的Java项目中,以实现XML文件的高效管理和操作。无论是新手还是有经验的开发者,都能从中受益匪浅,提升对XML处理的能力。

    dom4j-1.6.jar.zip

    DOM4J的基本概念 - **Document**:这是DOM4J的核心,表示整个XML文档。它包含了一系列的元素、属性、文本等,形成一个完整的文档树。 - **Element**:元素是XML文档中最基本的结构单位,代表XML文档中的一个节点...

    dom4j-2.1.1.jar

    总结,DOM4J-2.1.1.jar作为一款强大的XML处理工具,不仅具备了基本的XML操作能力,还提供了XPath支持、事件驱动处理等功能,使得在处理XML文档时更加便捷高效。在实际开发中,无论是简单的XML解析,还是复杂的XML...

    dom4j-java-API

    1. **DOM4J的基本概念** - **Document**: 在DOM4J中,Document代表整个XML文档,它是XML结构的根节点。 - **Element**: Element是XML文档中的一个节点,代表XML的元素,如`<tag>`。 - **Attribute**: Attribute...

    dom4j操作xml

    在本文中,我们将深入探讨DOM4J如何进行XML操作,包括增加、删除和修改XML元素。 首先,我们需要理解XML的基本结构。XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,它使用标签来描述数据。DOM4J通过...

    dom4j-1.6.1

    1. **DOM4J的基本概念** - DOM4J的核心思想是提供一个灵活的、面向对象的模型来处理XML文档,包括元素、属性、文本节点等。 - 它不仅支持标准的DOM API,还提供了基于事件的SAX解析器和一个XPath实现,以满足不同...

    dom4j(2.1.1+ 2.0.2+ 1.6.1).zip

    学习DOM4J有助于理解XML处理的基本原理,提升XML文档操作的效率,同时在实际项目中能够更灵活地处理XML数据。无论是新手还是经验丰富的开发者,DOM4J都是值得掌握的技能之一。 **总结** DOM4J是一个高效的XML处理库...

    dom4j所需要的包和依赖包

    DOM4J的知识点涵盖了许多方面,包括基本概念、核心组件、使用场景以及与其他XML处理库的比较。 1. **基本概念** - DOM(Document Object Model)是一种国际标准,用于表示XML文档的结构树。DOM4J则是Java中的一个...

    dom4j-1.6.1及相关使用示例

    ### DOM4J基本操作 - **解析XML**:使用`DocumentHelper.parseText()`或`SAXReader.read()`方法可以将XML字符串或文件解析为`Document`对象。 - **创建XML**:通过`DocumentFactory`实例创建元素,然后添加子元素...

    利用DOM4J解析SOAP的简单示例

    以下是一个使用DOM4J解析SOAP消息的基本步骤: 1. **导入DOM4J库**:在Java项目中,首先需要添加DOM4J的依赖。如果你使用的是Maven,可以在pom.xml文件中添加如下依赖: ```xml <groupId>dom4j <artifactId>...

    dom4j解析XML文件格式

    #### 二、DOM4j基本操作 ##### 1. Document对象相关 - **读取XML文件获取Document对象:** ```java SAXReader reader = new SAXReader(); Document document = reader.read(new File("input.xml")); ``` 这行...

Global site tag (gtag.js) - Google Analytics