當前位置:首頁 » 購物大全 » 如何用java實現基於xml的購物車

如何用java實現基於xml的購物車

發布時間: 2021-01-27 11:58:24

Ⅰ 如何用java實現xml文件轉excel

java解析excel生成的xml文件的方法是使用dom4j實現的。
dom4j是一個簡單的開源庫,用於處理XML、 XPath和XSLT,它基於Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP。
1、excel生成的xml樣例文件:

<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="">

2006-09-16T00:00:00Z
2016-07-25T03:26:50Z
14.00

7956
14808
240
168
2
False
False

<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="3" x:FullColumns="1"
x:FullRows="1" ss:DefaultRowHeight="14.4">

工號
姓名
工號
姓名

111
張三
111
<Data
ss:Type="String">張三

112
李四
112
<Data
ss:Type="String">李四

3
7
5

False
False

2、java解析代碼:
import java.io.File;
import java.util.Iterator;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Demo {
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("person.xml"));
Element root = document.getRootElement();

Iterator it = root.elementIterator();
while (it.hasNext()) {
Element element = (Element) it.next();

//未知屬性名稱情況下
/*Iterator attrIt = element.attributeIterator();
while (attrIt.hasNext()) {
Attribute a = (Attribute) attrIt.next();
System.out.println(a.getValue());
}*/

//已知屬性名稱情況下
System.out.println("id: " + element.attributeValue("id"));

//未知元素名情況下
/*Iterator eleIt = element.elementIterator();
while (eleIt.hasNext()) {
Element e = (Element) eleIt.next();
System.out.println(e.getName() + ": " + e.getText());
}
System.out.println();*/

//已知元素名情況下
System.out.println("title: " + element.elementText("title"));
System.out.println("author: " + element.elementText("author"));
System.out.println();
}
}
}

Ⅱ 如何用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.FileWriter;
import java.io.IOException;
import java.util.Iterator;import org.dom4j.*;
import org.dom4j.io.XMLWriter;
public class Dom4jSample { public static void main(String[] args) {
Dom4jSample dom4jSample = new Dom4jSample();
Document document = dom4jSample.createDocument();
try{
dom4jSample.FileWrite(document);

Document documentStr = dom4jSample.StringToXML("<China>I Love!</China>");
dom4jSample.XMLWrite(documentStr);

Element legend = dom4jSample.FindElement(document);
System.out.println(legend.getText());
}
catch(Exception e)
{

}
}

/*
* Create a XML Document
*/
public Document createDocument()
{
Document document = DocumentHelper.createDocument();

Element root = document.addElement("root");

Element author1 = root.addElement("Lynch");
author1.addAttribute("Age","25");
author1.addAttribute("Country","China");
author1.addText("I am great!");

Element author2 = root.addElement("Legend");
author2.addAttribute("Age","25");
author2.addAttribute("Country","China");
author2.addText("I am great!too!");

return document;
}

/*
* Create a XML document through String
*/
public Document StringToXML(String str) throws DocumentException
{
Document document = DocumentHelper.parseText(str);
return document;
}
public Element FindElement(Document document)
{
Element root = document.getRootElement();
Element legend = null;
for(Iterator i=root.elementIterator("legend");i.hasNext();)
{
legend = (Element)i.next();
}
return legend;
}

/*
* Write a XML file
*/
public void FileWrite(Document document) throws IOException
{
FileWriter out = new FileWriter("C:/Dom2jSample.xml");
document.write(out);
out.close();
}

/*
* Write a XML format file
*/
public void XMLWrite(Document document) throws IOException
{
XMLWriter writer = new XMLWriter(new FileWriter("C:/Dom2jSampleStr.xml"));
writer.write(document);
writer.close();
}
}

Ⅳ 如何用java和xml做留言版

嗯知道怎麼用資料庫嗎??如果知道的話那就好辦啊..
想想.留言板.需要什麼.留言內容還有留專言時間還有留言人屬.差不多吧.那麼你可以設計一個xml每一個留言元素中包含3個子元素.然後寫一個操作xml的類.用於讀取和存儲xml.表面把這些方法抽象出來.就算以後換了資料庫表面樣式都是不變的啊..頁面的設計就和使用資料庫的一樣了..
這是你會用資料庫寫留言板的前提..要是不知道怎麼寫留言板.那麼就看看網站上的留言板都是如何實現的吧..

Ⅳ 如何根據xml和schema文件生成java類(用程序實現)!

JAXB提供了可以從schema生成java類,下面簡要介紹一下生成的步驟:
1:下載jaxb包 jaxb 2_1_9.zip ,在本博客中可版以下載得到。解壓後權得到四個目錄,包含bin、lib 、docs、example
2:在"cmd"里進入到bin目錄,如C:/>cd C:/jaxb2.1.9/bin 回車
3:輸入xjc c:/students.xsd -d c:/src -p com.entity 回車
註:-d 說明要生成的java類存放目錄
-p 為生成java類指定的包名
students.xsd 為自己定義的Schema

Ⅵ 用java實現 xml文件轉實體類

使用XStream完成 java 類與 XML 互換。
下面代碼實現了以下4種基本功能:
1. object類型轉換為xml類型,在控制台列印
2. xml類型轉換為object類型,在控制台列印
3. 將object類型轉換為xml類型,並寫入XML文件
4. 讀取XML文件,載入進相應Object類型
====================================================
1。載入 XStream 需要的jar包 xstream-1.4.2.jar
xpp3_min-1.1.4c.jar
xmlpull-1.1.3.1.jar

2。創建實體類User.java
package com.entity;
/**
* 實體類
*/
public class User {
private String userName;
private String passWord;
private String registeredTime;
public User() { }
public User(String userName, String passWord, String registeredTime) {
this.userName = userName;
this.passWord = passWord;
this.registeredTime = registeredTime;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getRegisteredTime() {
return registeredTime;
}
public void setRegisteredTime(String registeredTime) {
this.registeredTime = registeredTime;
}
}

3。編寫功能實現類
package com.switcher;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.entity.User;
import com.thoughtworks.xstream.XStream;
/**
*
* 使用 XStream不用任何映射就能實現多數 Java 對象的序列化。
* 在生成的 XML中對象名變成了元素名,類中的字元串組成了 XML中的元素內容。
* 使用 XStream 序列化的類不需要實現 Serializable 介面。
* XStream 是一種序列化工具而不是數據綁定工具
* 不能從XML 或者 XML Schema Definition (XSD) 文件生成類。
*/
public class SwitchXML {
/*
* XStream 不關心序列化/逆序列化的類的欄位的可見性。
* 序列化/逆序列化類的欄位不需要 getter 和 setter 方法。
* 序列化/逆序列化的類不需要有默認構造函數。
*/
private XStream xStream = new XStream();
private String xmlPath = "D:/userdata.xml";
// 1. obj -> xml(object類型轉換為xml類型)
public String printXML(User user) {
System.out.println("obj -> xml");
String xml = xStream.toXML(user);
System.out.println(xml);
return xml;
}
// 2. xml->obj(xml類型轉換為object類型,並列印)
public void printObj(String xml) {
System.out.println("xml -> obj");
User u = (User) xStream.fromXML(xml);
System.out.println(u.getUserName() + " " + u.getPassWord() + " " + u.getRegisteredTime());
}
// 3. 將object類型轉換為xml類型,並寫入XML文件(其他格式也可以,比如txt文件)
public void writerXML(User user) {
try {
FileOutputStream fs = new FileOutputStream(xmlPath);
xStream.toXML(user, fs);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
// 4. 讀取XML文件,載入進相應Object類型
public void readerXML() {
User user = new User();
FileInputStream fis = null;
try {
fis = new FileInputStream(xmlPath);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
xStream.fromXML(fis, user);
// 列印對象信息
System.out.println(user.toString());
// 列印對象的屬性值
System.out.println(user.getUserName() + "-" + user.getPassWord() + "-"
+ user.getRegisteredTime());
}
public static void main(String[] args) {
// 用戶名
String username = "admin";
// 密碼
String password = "admin";
// 注冊時間
Date now = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
String registeredtime = format.format(now);
User user = new User(username, password, registeredtime);
SwitchXML switchXML = new SwitchXML();
// 1. object類型轉換為xml類型,在控制台列印
String xml = switchXML.printXML(user);
System.out.println("---------------------");
// 2. xml類型轉換為object類型,在控制台列印
switchXML.printObj(xml);
System.out.println("---------------------");
// 3. 將object類型轉換為xml類型,並寫入XML文件
switchXML.writerXML(user);
System.out.println("---------------------");
// 4. 讀取XML文件,載入進相應Object類型
switchXML.readerXML();
}
}

Ⅶ 如何用java實現xml文件轉excel

實現思路:
直接從Excel文件裝換成XML文件是可以實現的,這里我採用一個中間裝內換,也就是先實現excel文件容內容放入實現設計好的access資料庫文件中,然後再從access中讀取記錄寫道xml文件中,因為我這里的實際問題是把多個excel表,每個表中又有多個sheet工作薄,這樣我先導入資料庫中,也方便修改和處理.

這樣,需要寫兩個類:
XlsToAccess類,用來實現從excel文件根據事先約定的格式,按照資料庫設計欄位存放進去
AccessToXml類,用來實現從access文件資料庫中的記錄按約定格式寫到xml文件中去
然後還需要一個主運行窗口類XlsToXml,這個類我們使用eclipse插件SWT Designer來完成
最後把工程打成JAR包,再用NativeJ將Jar包生成為可執行的exe文件

Ⅷ 誰來幫我解析一個簡單的xml啊,xml如下,我想把裡面的東西取出來,在JAVA里實現

先從連接里讀取出字元串,然後按後邊方法解析。

String XML;//要解析的XML字元串
//將字元串轉化為回UTF-8格式的位元組形式,這里答的UTF-8不能省略,否則可能會報如下錯誤: [Fatal Error] :1:327: Invalid byte 1 of 1-byte UTF-8 sequence
InputStream is=new ByteArrayInputStream(XML.getBytes("UTF-8"));
接下來就可以解析了
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc = builder.parse(is);

Ⅸ 做一個發簡訊的功能 需要解析如下的xml 用java實現 謝謝!

		="<?xmlversion="1.0"encoding="UTF-8"?>
<result>
<resultcode>0</resultcode>
<taskcode>20130213231023</taskcode>
<errordescription>發送成功</errordescription>
</result>";

longstart=System.currentTimeMillis();
try{
SAXBuilderbuilder=newSAXBuilder();
org.jdom.Documentdoc=builder.build(newByteArrayInputStream(xml
.getBytes("UTF-8")));
Elementelement=doc.getRootElement();
ListallChildren=element.getChildren();
for(inti=0;i<allChildren.size();i++){
System.out.print(((Element)allChildren.get(i)).getName());
System.out.print(":");
System.out.println(((Element)allChildren.get(i)).getText());
}
}catch(JDOMExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
longend=System.currentTimeMillis();
System.out.println("耗時:"+(end-start)+"ms");

Ⅹ Java實現一個HTTP基於xml的post請求 如何在struts2 action獲取

//用戶名校驗方法
//這個方法是用XMLHTTPRequest對象進行非同步數據交互

var xmlhttp;
function verify(){

//alert(xmlhttp.readyState);
//×××××××××readyState變更0.1.2.3.4

//1.使用dom的方式獲取文本框中的值
//是dom中獲取元素節點的一種方法一個元素節點對應hrml中的一個標簽,如果<input>.value可以獲得一個元素節點的value屬性值
//注意取值.value;否則前台取不到本想取到的值
var userName = document.getElementById("userName").value;

//2.創建xmlhttpRequest對象
//需要針對不同瀏覽器建立不同的代碼
//Window.XMLHttpRequest盡量放置在window.ActiveXObject之前
if(window.XMLHttpRequest){
//針對firefox,mozillar,opera,safari,ie7,ie8
xmlhttp = new XMLHttpRequest();
//修正mozillar瀏覽器的bug語句
if (xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
}else if(window.ActiveXObject){
//針對的是ie6,ie5.5,ie5
//兩個可以用於創建XMLHTTPRequset對象的控制項名稱,保存在一個js的數組中
//排在前面的版本較新
var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for (var i = 0;i<activexName.length;i++){
try{
//取出一個控制項的名進行創建,如果創建成功就停止循環
//如果創建失敗,會拋出異常,然後可以繼續循環,繼續嘗試創建
xmlhttp = new ActiveXObject(activexName[i]);
break;
}catch(e){
}
}
//確認XMLHTTPRequest對象創建成功
}
if (!xmlhttp){
alert("XMLHttpRequest對象創建失敗!!");
return;
}else{
alert("xmlhttp");
}

//2.注冊回調函數
//注冊回調函數時候,只需要函數名,不要加括弧
xmlhttp.onreadystatechange = callback;

////3.設置鏈接信息
////第一個參數表示http的請求方式,支持所有的http請求方式,主要使用個體和post方法
////第二個參數表示請求的url地址,get方式請求的參數也在url中
////第三個參數表示採用非同步還是同步交互方式,true表示非同步
//xmlhttp.open("GET","AJAXXMLServer?name=" + userName,true);

//post請求方式的代碼
xmlhttp.open("POST","AJAXXMLServer",true);
//post方式需要自己設置http請求頭
xmlhttp.setRequestHeader("Content-Tpye","application/x-www-form-urlencoded");
//post方式發送數據
xmlhttp.send("name= " + userName);

////4.發送數據,開始和伺服器端進行交互
////同步方式下,send這句話在伺服器端數據回來後才執行
////非同步方式下,send這句話會立即完成執行
////get方式下的要發送數據都已經在url中了。因此不需要在詞單獨send內容了
//xmlhttp.send(null);

}

//回調函數
function callback(){
//5.接收響應數據
//判斷對象的狀態是交互完成的即為4
if (xmlhttp.readyState == 4){
//判斷http的交互是否成功
if (xmlhttp.status == 200){

//使用responseXML的方式來接受xml數據的dom對象
var domObj = xmlhttp.responseXML;
//<message>是文本信息</message>
//dom利用getElementsByTagName可以根據標簽來獲取元素節點。返回的是一個數組
var messageNodes = domObj.getElementsByTagName("message");
if (messageNodes.length > 0){
//獲取message節點中的文本內容
//註:無效取值用法:::var responseMessage = messageNodes[0].innerHTML;
//首先messaNodes[0]獲取的的是message標簽所獲取的文本信息,即元素節點。
//message標簽中的文本在dom中是message標簽所對應的元素節點的子節點,firstChild可以獲取當前節點的第一個子節點
//通過以下方式就可以獲取到文本內容多對應的節點
var textNode = messageNodes[0].firstChild;
//對於文本節點來說,可以通過nodeValue的方式返迴文本節點的文本內容
var responseMessage = textNode.nodeValue;

alert("-----------------");
//將數據顯示在頁面上
//通過dom的方式找到div標簽所對應的元素節點
var divNode = document.getElementById("result");
//alert(divNode);
//設置元素節點中的html內容
divNode.innerHTML = responseMessage;
}else{
alert("XML數據格式錯誤,原始文本內容為"+ xmlhttp.responseText);
}
}else{
alert("出錯了!");
}
}

}

這樣返回的是一個數據,你看看對你修改成返迴文件有沒有用

熱點內容
斷背山有幾分鍾 發布:2024-08-19 08:31:17 瀏覽:253
日本電影 女老師和學生私奔 發布:2024-08-19 08:29:36 瀏覽:49
台灣電影 雙胞胎 發布:2024-08-19 08:02:18 瀏覽:134
2020最新電影在線觀看網站 發布:2024-08-19 07:56:06 瀏覽:641
男男電影虐 發布:2024-08-19 07:04:57 瀏覽:10
韓國電影李采潭主演的關於發廊的 發布:2024-08-19 07:01:57 瀏覽:2
每期都有做的動漫 發布:2024-08-19 06:44:33 瀏覽:778
東宮拍攝時間 發布:2024-08-19 06:44:12 瀏覽:5
林正英電影情節鬼抬轎 發布:2024-08-19 06:36:35 瀏覽:254
懂的都懂在線觀看網站 發布:2024-08-19 06:26:11 瀏覽:676