Java|java教程
dom4j,xml
Java-java教程
这几天被同事问道是否可以用dom4j来操作代用命名空间的xml(类似:这种标签)
php 分站商城源码,ubuntu开端口端口,tomcat关闭隐藏服务,爬虫软件 学院,php讲师的认知,seo监测__ 品达seolzw
由于没有研究过,同事决定使用java自带的api来编写。
青蜂源码,Ubuntu系统密码过期,电影中讲网络爬虫,去除php头,沙河seo外包lzw
今天有时间变查了一下资料,后来发现dom4j完全可以胜任这项工作。网上有很多代码,看来看去云里雾里的。后来看到一个网友写到(直接用冒号后边的标签就能取到),试了一下,果真可以。
dns代理服务器源码,vscode联网,ubuntu 启动kvm,出现tomcat,sqlite 表名,马来西亚 服务器,魔方时间插件,前端面试框架,爬虫 数据抓取,php快速开发平台,seo注意点,素材站用什么网站系统,网页ccs模板,阿里模板代码,登陆页面html模板,java图书管理系统毕业设计,牛中牛程序标题修改lzw
下面写了一个测试例子,有xml的读写操作。有兴趣的朋友可以参考,代码比较简单,就不过多的介绍。
import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.Namespace;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;import org.junit.Test;public class TestOperXML {//@Testpublic void testOfReader(){String fileName = "D:\\tb_user1.xml";SAXReader reader = new SAXReader();try {Document doc = reader.read(new File(fileName));Element root = doc.getRootElement();Element content = root.element("XMI.content");println(content.getName());Element catalog = content.element("Catalog");println(catalog.getName());Namespace np = catalog.getNamespace();println(catalog.getNamespace().getPrefix());println("xmi.id:"+catalog.attribute("xmi.id").getText());println("name:"+catalog.attribute("name").getText());println("visibility:" + catalog.attribute("visibility").getText());} catch (DocumentException e) {e.printStackTrace();}}//@Testpublic void testOfWriter(){Document doc = DocumentHelper.createDocument();Element root = doc.addElement("XMI");root.addNamespace("CWM", "org.omg.CWM1.0").addNamespace("CWMRDB", "org.omg.CWM1.0/Relational").addNamespace("CWMOLAP", "org.omg.CWM1.0/OLAP").addNamespace("CWMTFM", "org.omg.CWM1.0/Transformation").addAttribute("xmi.version", "1.1").addAttribute("timestamp", "5月 23 13:10:03");Element xmlHeader = root.addElement("XMI.header");Element documentation = xmlHeader.addElement("XMI.documentation");documentation.addElement("XMI.exporter").setText("Meta Integration Model Bridge");documentation.addElement("XMI.exporterVersion").setText("6.0.3 - Jan 28 18:35:56");xmlHeader.addElement("metamodel").addAttribute("xmi.name", "CWM").addAttribute("xmi.version", "1.0");Element content = root.addElement("XMI.content");Element catalog = content.addElement("CWMRDB:Catalog").addAttribute("xmi.id", "_4").addAttribute("name", "Model_1").addAttribute("visibility", "public");catalog.addNamespace("CWMRDB", "org.omg.CWM1.0/Relational");Element schema = catalog.addElement("CWM:Namespace.ownedElement").addNamespace("CWM", "org.omg.CWM1.0").addElement("Schema");schema.addNamespace("CWMRDB", "org.omg.CWM1.0/Relational");schema.addElement("CWM:Namespace.ownedElement").addNamespace("CWM", "org.omg.CWM1.0");try {XMLWriter writer = new XMLWriter(new FileWriter("out.xml"));writer.write(doc);writer.close();} catch (IOException e) {e.printStackTrace();}}@Testpublic void testOfXPath(){String fileName = "D:\\tb_user1.xml";SAXReader reader = new SAXReader();try {Document doc = reader.read(new File(fileName));List list = doc.selectNodes("//XMI/XMI.content/CWMRDB:Catalog");for(Object o : list){Element ele = (Element)o;println(ele.getName());List list1 = ele.selectNodes("//CWMRDB:Catalog");println(list1);}}catch(Exception e){e.printStackTrace();}}private void println(Object o){if(o == null){System.out.println(":>> null ");}else{System.out.println(":>> "+o.toString());}}}
xml代码:
Meta Integration Model Bridge 6.0.3 - Jan 28 18:35:56