「java构造xml」JAVA构造方法的特点

博主:adminadmin 2022-12-13 15:00:09 65

今天给各位分享java构造xml的知识,其中也会对JAVA构造方法的特点进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何用java代码创建xml文件

用java自带的就可以,有问题可以问我

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

//构造

public XMLUtil(String name) throws ParserConfigurationException {

filename = name;

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

builder = factory.newDocumentBuilder();

document = builder.newDocument();

}

/**

* 保存到文件

*/

public void toSave() {

try {

TransformerFactory tf = TransformerFactory.newInstance();

Transformer transformer = tf.newTransformer();

DOMSource source = new DOMSource(document);

transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");

transformer.setOutputProperty(OutputKeys.INDENT, "yes");

PrintWriter pw = new PrintWriter(new FileOutputStream(filename));

StreamResult result = new StreamResult(pw);

transformer.transform(source, result);

} catch (TransformerException mye) {

mye.printStackTrace();

} catch (IOException exp) {

exp.printStackTrace();

}

}

JAVA如何写XML文件?

import java.io.*;\x0d\x0a \x0d\x0aimport org.dom4j.*;\x0d\x0a import org.dom4j.io.OutputFormat;\x0d\x0a import org.dom4j.io.XMLWriter;\x0d\x0a \x0d\x0apublic class DOM4JTest {\x0d\x0a public static void main(String[] args) {\x0d\x0a Document doc = DocumentHelper.createDocument();\x0d\x0a doc.addProcessingInstruction("xml-stylesheet", "type='text/xsl href='students.xsl'");\x0d\x0a Element root = doc.addElement("students");\x0d\x0a \x0d\x0a Element eltStu1 = root.addElement("student").addAttribute("sn", "01");\x0d\x0a Element eltName1 = eltStu1.addElement("name");\x0d\x0a Element eltAge1 = eltStu1.addElement("age");\x0d\x0a eltName1.setText("张三");\x0d\x0a eltAge1.setText("20");\x0d\x0a \x0d\x0a Element eltStu2 = root.addElement("student").addAttribute("sn", "02");\x0d\x0a Element eltName2 = eltStu2.addElement("name");\x0d\x0a Element eltAge2 = eltStu2.addElement("age");\x0d\x0a eltName2.setText("李四");\x0d\x0a eltAge2.setText("18");\x0d\x0a \x0d\x0a try {\x0d\x0a OutputFormat format = new OutputFormat("\x0d\x0a ", true);\x0d\x0a format.setEncoding("gb2312");\x0d\x0a // 可以把System.out改为你要的流。\x0d\x0a XMLWriter xmlWriter = new XMLWriter(new PrintWriter(System.out), format);\x0d\x0a xmlWriter.write(doc);\x0d\x0a xmlWriter.close();\x0d\x0a } catch (IOException e) {\x0d\x0a e.printStackTrace();\x0d\x0a }\x0d\x0a }\x0d\x0a }

通过java怎么配置xml文件

JAVA与XML文件,可以说是软件开发的“黄金搭档”,而如何使用JAVA完成对XML文件的读取,是我们首先要解决的问题。

一、XML文件

这个示例文件包括了用来打开ORACLE数据库的各种参数

?xml version="1.0" encoding="UTF-8"?

dbmsg

dbinfo

drivernameoracle.jdbc.driver.OracleDriver/drivername

sConnStrjdbc:oracle:thin:@11.88.225.80:1521:VOUCHERDB/sConnStr

usernameSYS AS SYSDBA/username

passwordvoucherdb/password

/dbinfo

/dbmsg

二、编写类名为ReadXml的类,用于解析XML文件

我们要在应用程序中打开数据库,就必须完成对该文件中drivername、sConnStr、username、password的读取,通过查找有关资料,笔者编制了以下程序,用于读取文件名为filename的XML文件。

package voucher.basic;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import org.xml.sax.SAXException;

public class ReadXml {

private String drivername;

private String sConnStr;

private String username;

private String password;

public String getDrivername() {

return drivername;

}

public String getSConnStr() {

return sConnStr;

}

public String getUsername() {

return username;

}

public String getPassword() {

return password;

}

public void setDrivername(String drivername) {

this.drivername = drivername;

}

public void setSConnStr(String connStr) {

sConnStr = connStr;

}

public void setUsername(String username) {

this.username = username;

}

public void setPassword(String password) {

this.password = password;

}

public ReadXml(String fileName){

DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();

try {

DocumentBuilder dombuilder=domfac.newDocumentBuilder();

InputStream is=new FileInputStream(fileName);

Document doc=dombuilder.parse(is);

Element root=doc.getDocumentElement();

NodeList dbinfo=root.getChildNodes();

if(dbinfo!=null){

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

Node db=dbinfo.item(i);

for(Node node=db.getFirstChild();node!=null;node=node.getNextSibling()){

if(node.getNodeType()==Node.ELEMENT_NODE){

if(node.getNodeName().equals("drivername")){

setDrivername(node.getFirstChild().getNodeValue());

}

if(node.getNodeName().equals("sConnStr")){

setSConnStr(node.getFirstChild().getNodeValue());

}

if(node.getNodeName().equals("username")){

setUsername(node.getFirstChild().getNodeValue());

}

if(node.getNodeName().equals("password")){

setPassword(node.getFirstChild().getNodeValue());

}

}

}

}

}

} catch (ParserConfigurationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SAXException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

这个以ReadXml命名的类,使用了参数为文件名的构造方法,用户只要将配置文件我名称传递给该方法,就可以完成对XML文件的解析,进而完成对相应参数数的读取。

三、如何获取XML文件全路径并读取配置参数

获取XML文件全路径的方法有两个,一是在servlet中获取,二是在单独的JAVA类中获取。

1.在servlet中获取XML文件的全路径并读取配置参数

程序片段String dirPath = getServletContext().getRealPath( "/WEB-INF");

String fileName = dirPath + "/conn.xml";

ReadXml xm = new ReadXml(fileName);

String DriverName = xm.getDrivername();

String connStr = xm.getSConnStr();

String user = xm.getUsername();

String pas = xm.getPassword();

将这段程序添加到servlet中dopost()之后即可完成参数的读取

2.在单独的JAVA类中获取全路径并读取配置参数

程序片段

String dirpath = System.getProperty("user.dir");

String xmlFile = dirpath + "/WebRoot/WEB-INF/conn.xml";

ReadXml rdxml = new ReadXml(xmlFile);

String driverName = rdxml.getDrivername();

String sConnStr = rdxml.getSConnStr();

String userName = rdxml.getUsername();

String passWord = rdxml.getPassword();

注:配置文件conn.xml保存在webroot/WEB-INF目录中。

如何用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();

}

}

关于java构造xml和JAVA构造方法的特点的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-13,除非注明,否则均为首码项目网原创文章,转载请注明出处。