java省市区生成xml

通过java程序读mysql数据库生成xml文档

1、最简单方式,拼串直接IO至文件中。

2、用xml的生成插件,如dom4j,jdom等,操作后生成对象,再写入文件。

怎样通过java定时将数据库中的信息导出后生成xml文件,并通过ftp上传到指定的位置

1、使用quarz或者jdk的timer来制定定时任务。

2、使用jdbc或者hibernate等方法获取数据库中信息。

3、使用xmlbeans或者dom4j等技术生成xml文件。

4、使用sun.net.上传到指定ftp服务器。

java省市区生成xml

如何用java语言生成xml文件,并将它返回

实例:

holen.xml

?xml version=”1.0″ encoding=”UTF-8″?

books

!–This is a test for dom4j, holen, 2004.9.11–

book show=”yes”

titleDom4j Tutorials/title

/book

book show=”yes”

titleLucene Studing/title

/book

book show=”no”

titleLucene in Action/title

/book

ownerO’Reilly/owner

/books

建立一个XML文档:

/**

* 建立一个XML文档,文档名由输入属性决定

* @param filename 需建立的文件名

* @return 返回操作结果, 0表失败, 1表成功

*/

public int createXMLFile(String filename){

/** 返回操作结果, 0表失败, 1表成功 */

int returnValue = 0;

/** 建立document对象 */

Document document = DocumentHelper.createDocument();

/** 建立XML文档的根books */

Element booksElement = document.addElement(“books”);

/** 加入一行注释 */

booksElement.addComment(“This is a test for dom4j, holen, 2004.9.11”);

/** 加入第一个book节点 */

Element bookElement = booksElement.addElement(“book”);

/** 加入show属性内容 */

bookElement.addAttribute(“show”,”yes”);

/** 加入title节点 */

Element titleElement = bookElement.addElement(“title”);

/** 为title设置内容 */

titleElement.setText(“Dom4j Tutorials”);

/** 类似的完成后两个book */

bookElement = booksElement.addElement(“book”);

bookElement.addAttribute(“show”,”yes”);

titleElement = bookElement.addElement(“title”);

titleElement.setText(“Lucene Studing”);

bookElement = booksElement.addElement(“book”);

bookElement.addAttribute(“show”,”no”);

titleElement = bookElement.addElement(“title”);

titleElement.setText(“Lucene in Action”);

/** 加入owner节点 */

Element ownerElement = booksElement.addElement(“owner”);

ownerElement.setText(“O’Reilly”);

try{

/** 将document中的内容写入文件中 */

XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));

writer.write(document);

writer.close();

/** 执行成功,需返回1 */

returnValue = 1;

}catch(Exception ex){

ex.printStackTrace();

}

return returnValue;

}

说明:

Document document = DocumentHelper.createDocument();

通过这句定义一个XML文档对象。

Element booksElement = document.addElement(“books”);

通过这句定义一个XML元素,这里添加的是根节点。

Element有几个重要的方法:

l addComment:添加注释

l addAttribute:添加属性

l addElement:添加子元素

JAVA 生成xml格式,具体格式如下,请问JAVA方法怎么写

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import org.w3c.dom.*;

import org.xml.sax.SAXException;

import javax.xml.parsers.*;

import javax.xml.transform.*;

import javax.xml.transform.dom.DOMSource;

import javax.xml.transform.stream.*;

import javax.xml.xpath.*;

public class Test {

public static void main(String[] args) {

        DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();

        Element theBook=null, theElem=null, root=null;

        try {

            factory.setIgnoringElementContentWhitespace(true);

            

            DocumentBuilder db=factory.newDocumentBuilder();

            Document xmldoc=db.parse(new File(“Test1.xml”));

            root=xmldoc.getDocumentElement();

            

            theBook=(Element) selectSingleNode(“/books/book[name=’哈里波特’]”, root);

            System.out.println(“— 查询找《哈里波特》 —-“);

            Element nameNode=(Element)theBook.getElementsByTagName(“price”).item(0); 

            String name=nameNode.getFirstChild().getNodeValue(); 

            System.out.println(name);

            output(theBook);

            System.out.println(“=============selectSingleNode(books/book[name=’哈里波特’], root)==================”);

            

            //— 新建一本书开始 —-

            theBook=xmldoc.createElement(“book”);

            theElem=xmldoc.createElement(“name”);

            theElem.setTextContent(“新书”);

            theBook.appendChild(theElem);

            

            theElem=xmldoc.createElement(“price”);

            theElem.setTextContent(“20”);

            theBook.appendChild(theElem);

            theElem=xmldoc.createElement(“memo”);

            theElem.setTextContent(“新书的更好看。”);

            theBook.appendChild(theElem);

            root.appendChild(theBook);

            System.out.println(“— 新建一本书开始 —-“);

            output(xmldoc);

            System.out.println(“==============================”);

            

            //— 新建一本书完成 —-

            //— 下面对《哈里波特》做一些修改。 —-

            //— 查询找《哈里波特》—-

           

            //— 此时修改这本书的价格 —–

            theBook.getElementsByTagName(“price”).item(0).setTextContent(“15”);//getElementsByTagName返回的是NodeList,所以要跟上item(0)。另外,getElementsByTagName(“price”)相当于xpath的”.//price”。

            System.out.println(“— 此时修改这本书的价格 —-“);

            output(theBook);

            //— 另外还想加一个属性id,值为B01 —-

            theBook.setAttribute(“id”, “B01”);

            System.out.println(“— 另外还想加一个属性id,值为B01 —-“);

            output(theBook);

            //— 对《哈里波特》修改完成。 —-

            //— 要用id属性删除《三国演义》这本书 —-

            theBook=(Element) selectSingleNode(“/books/book[@id=’B02′]”, root);

            System.out.println(“— 要用id属性删除《三国演义》这本书 —-“);

            output(theBook);

            theBook.getParentNode().removeChild(theBook);

            System.out.println(“— 删除后的XML —-“);

            output(xmldoc);

            //— 再将所有价格低于10的书删除 —-

            NodeList someBooks=selectNodes(“/books/book[price10]”, root);

            System.out.println(“— 再将所有价格低于10的书删除 —“);

            System.out.println(“— 符合条件的书有 ”+someBooks.getLength()+”本。 —“);

            for(int i=0;isomeBooks.getLength();i++) {

                someBooks.item(i).getParentNode().removeChild(someBooks.item(i));

            }

            output(xmldoc);

            saveXml(“Test1_Edited.xml”, xmldoc);

        } catch (ParserConfigurationException e) {

            e.printStackTrace();

        } catch (SAXException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

    public static void output(Node node) {//将node的XML字符串输出到控制台

        TransformerFactory transFactory=TransformerFactory.newInstance();

        try {

            Transformer transformer = transFactory.newTransformer();

            transformer.setOutputProperty(“encoding”, “gb2312”);

            transformer.setOutputProperty(“indent”, “yes”);

            DOMSource source=new DOMSource();

            source.setNode(node);

            StreamResult result=new StreamResult();

            result.setOutputStream(System.out);

            

            transformer.transform(source, result);

        } catch (TransformerConfigurationException e) {

            e.printStackTrace();

        } catch (TransformerException e) {

            e.printStackTrace();

        }   

    }

    

    public static Node selectSingleNode(String express, Object source) {//查找节点,并返回第一个符合条件节点

        Node result=null;

        XPathFactory xpathFactory=XPathFactory.newInstance();

        XPath xpath=xpathFactory.newXPath();

        try {

            result=(Node) xpath.evaluate(express, source, XPathConstants.NODE);

        } catch (XPathExpressionException e) {

            e.printStackTrace();

        }

        

        return result;

    }

    

    public static NodeList selectNodes(String express, Object source) {//查找节点,返回符合条件的节点集。

        NodeList result=null;

        XPathFactory xpathFactory=XPathFactory.newInstance();

        XPath xpath=xpathFactory.newXPath();

        try {

            result=(NodeList) xpath.evaluate(express, source, XPathConstants.NODESET);

        } catch (XPathExpressionException e) {

            e.printStackTrace();

        }

        

        return result;

    }

    

    public static void saveXml(String fileName, Document doc) {//将Document输出到文件

        TransformerFactory transFactory=TransformerFactory.newInstance();

        try {

            Transformer transformer = transFactory.newTransformer();

            transformer.setOutputProperty(“indent”, “yes”);

            DOMSource source=new DOMSource();

            source.setNode(doc);

            StreamResult result=new StreamResult();

            result.setOutputStream(new FileOutputStream(fileName));

            

            transformer.transform(source, result);

        } catch (TransformerConfigurationException e) {

            e.printStackTrace();

        } catch (TransformerException e) {

            e.printStackTrace();

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        }   

    }

}

 

XML:

?xml version=”1.0″ encoding=”GBK”?

books

book

name哈里波特/name

price10/price

memo这是一本很好看的书。/memo

/book

book id=”B02″

name三国演义/name

price10/price

memo四大名著之一。/memo

/book

book id=”B03″

name水浒/name

price6/price

memo四大名著之一。/memo

/book

book id=”B04″

name红楼/name

price5/price

memo四大名著之一。/memo

/book

/books

如何用java生成一个xml文件

一个XML文档,可以先构造一个DOM,然后将DOM转化为xml序列,输出或者生成文件。package test;

import java.io.ByteArrayOutputStream;

import java.io.File;

import java.io.FileOutputStream;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.dom.DOMSource;

import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

public class Test {

public static void generate(){

try {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.newDocument();

document.setXmlVersion(“1.0”);

document.setXmlStandalone(true);

Element root = document.createElement_x(“MobileNet”); //创建根节点

document.appendChild(root); //将根节点添加到Document对象中

Element pageElement = document.createElement_x(“page”); //设置第一个page元素到

pageElement.setAttribute(“name”, “list.jsp”); //设置page节点的name属性

Element methodElement = document.createElement_x(“method”); //设置method节点

methodElement.setTextContent(“get”); //给method设置值

pageElement.appendChild(methodElement); //添加method节点到page节点内

Element displayElement = document.createElement_x(“display”); //设置method节点

displayElement.setTextContent(“list撒旦发放”); //给display设置值

pageElement.appendChild(displayElement); //添加display节点到page节点内

Element request_paramElement = document.createElement_x(“request_param”);

request_paramElement.setTextContent(“request_param1|request_param2”);

pageElement.appendChild(request_paramElement);

root.appendChild(pageElement);

pageElement = document.createElement_x(“page”); //设置第二个page元素到

pageElement.setAttribute(“name”, “content.jsp”); //设置page节点的name属性

methodElement = document.createElement_x(“method”);

methodElement.setTextContent(“post”);

pageElement.appendChild(methodElement);

displayElement = document.createElement_x(“display”);

displayElement.setTextContent(“content”);

pageElement.appendChild(displayElement);

Element url_titleElement = document.createElement_x(“url_title”); //设置url_title节点

url_titleElement.setTextContent(“title,publisher,published_calendar”); //给url_title设置值

pageElement.appendChild(url_titleElement); //添加url_title节点到page节点内

root.appendChild(pageElement); //将page段加人根节点内

TransformerFactory transFactory = TransformerFactory.newInstance(); //开始把Document映射到文件

Transformer transFormer = transFactory.newTransformer();

DOMSource domSource = new DOMSource(document); //设置输出结果

File file = new File(“MobileNetRule.xml”); //生成xml文件

if (!file.exists()) {

file.createNewFile();

}

FileOutputStream out = new FileOutputStream(file); //文件输出流

StreamResult xmlResult = new StreamResult(out); //设置输入源

transFormer.transform(domSource, xmlResult); //输出xml文件

System.out.println(file.getAbsolutePath()); //测试文件输出的路径

TransformerFactory tf = TransformerFactory.newInstance();

Transformer t = tf.newTransformer();

t.setOutputProperty(“{/encoding/}”,”GB2312/”);

ByteArrayOutputStream boc = new ByteArrayOutputStream();

t.transform(new DOMSource(document), new StreamResult(boc));

String xmlstring = boc.toString();

System.out.println(xmlstring);

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args){

Test.generate();

}

}

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月27日 08:15:12
下一篇 2024年3月27日 08:22:21

相关推荐

  • 张龙java培训视频,张龙 java

    我想更好的了解Java语言 1、找Java教程进行学习 首先可以去找一个Java的课程进行学习,能够找到相应的视频学习是非常有用的。在学习基础的时候,从Java的基础开始,如果没有扎实的基础,后续的学习会变得更加困难。 2、简单性 Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少…

    2024年5月21日
    4100
  • java读写xml配置文件,java 读写xml

    JAVA读取XML文件 1、只要更改XML配置文件,就可以正常运行。localhostsqlnameusernamepassword上面这个myenv.xml配置文件一般是放在tomcat的WEB-INF/classes目录下。 2、我们要在应用程序中打开数据库,就必须完成对该文件中drivername、sConnStr、username、password的…

    2024年5月21日
    4000
  • java网站application,java 网站

    Java中Applet与Application有什么不同? 【答案】: 联系:Applet和Application都是Java程序。区别:(1)Applet只运行于HTML主页中,此种能力使主页设计者在设计时有更大的灵活性,Applet可以运行在任何机器上。 Application,即”Java应用程序“,是可以独立运行的Java程序,由Java解释器控制执…

    2024年5月21日
    3100
  • java里怎么画柱状图,java如何绘制图形

    在jsp页面中如何做柱状,饼状,曲线图 1、JFreeChart 可以绘制饼状图,折线图,柱状图等. awt/swing里可以使用,JSP里也可以使用 JFreeChart是 Java平台下开源的图表类库,是一个完全基于Java的图表开发技术。 2、用JFreeChart,可到网上下载JFreeChart包,然后把它添加到java库。如果是用JSP生成的话,…

    2024年5月21日
    4000
  • 构建最大堆java,jvm中最大堆大小有没有限制

    java性能优化,程序员的必修课! 同时可以避免一些因为性能优化导致的程序问题,比如你想针对数据库做缓存,那么这点就显得尤为重要了。 先不要急着优化 在必要之前,一定不要急着进行优化,这是一种非常重要的性能调优方法。在进行调优过程中,我们应该遵守最佳的实践方法,这样才能得到有效的实现。 尽量重用目标 特别是,使用代表字符串收敛的String目标应该使用Str…

    2024年5月21日
    4300
  • javafx二进制,java 二进制操作

    为什么脚本只有VB脚本和Java脚本,而没有C#脚本 不是翻译型的。也不要说脚本一定是翻译型的,如果你说脚本是翻译型的语言,那么C#无论如何都不可能是脚本,因为C#只能编译运行,不能翻译运行,VB才有可以翻译也可能编译。 vb 的存在原因:(1)熟悉和习惯用BASIC 语言的人喜欢vb。(2)vb 编译器比vc 编译器 便宜得多。不想写非常复杂的程序的人觉得…

    2024年5月21日
    3100
  • java读取pdf中的图片,java获取pdf内容

    icepdf将PDF电子发票转换成PNG图片出现金额错行(java)? 1、如果你的这个坐标不知道在哪里,可能是依据pdf里面的一个字符串,在这个文字旁边加图片,那么你需要icepdf先解析这个pdf,找到文字坐标,然后在用itextpdf写入图片或者文字。 怎么用pdfBox从pdf文件中提取images 将一个PDF文档转换输出为一个文本文件。可以从文本…

    2024年5月21日
    3400
  • java开发面试题下载,java开发面试题库

    java软件开发面试题 1、面试题一:Java的垃圾回收机制 Java中的垃圾回收机制是Java的一大优点,也是它与其他编程语言的差别之一。在支付宝Java开发的面试中,Java的垃圾回收机制往往是一道经典面试题。Java的垃圾回收机制是一种自动内存管理机制。 2、当然了,为了不自讨没趣我就说我只能承担个中级开发吧。。 3、Java 开发工具包 (JDK)是…

    2024年5月21日
    5400
  • java读rgb,JaVa怎么读

    Java的图像算法 Image Moments是图像处理中非常有用的算法,可以用来计算区域图像的质心,方向等几何特性,同时Mpq的高阶具有旋转不变性,可以用来实现图像比较分类,正是因为Moments有这些特性,很多手绘油画效果也会基于该算法来模拟实现。 至于算法原理什么的,我真很难解释清楚,大致的思想是基于能量最小化的,分别进行行与列的1D距离变变换采样。 …

    2024年5月20日
    6300
  • java替换pdf模板,java替换word模板

    怎么用java动态生成pdf文档 1、首先,您需要在 Java 程序中添加 Spire.Xls.jar 文件作为依赖项。您可以从这个链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。 2、iText是着名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通…

    2024年5月20日
    4000

发表回复

登录后才能评论



关注微信