java拼xml代码 java拼装xml

使用java代码建立xml 并使用代码引用dtd , 我想在建立过程中引用dtd , 怎么实现,求大神 , 帮忙 。。使用XStream完成java类与XML互换 。下面代码实现了以下4种基本功能:1.object类型转换为xml类型 , 在控制台打印2.xml类型转换为object类型,在控制台打印3.将object类型转换为xml类型 , 并写入XML文件4.读取XML文件 , 加载进相应Object类型====================================================1 。加载XStream需要的jar包xstream-1.4.2.jarxpp3_min-1.1.4c.jarxmlpull-1.1.3.1.jar2 。创建实体类User.javapackagecom.entity;/***实体类*/publicclassUser{privateStringuserName;privateStringpassWord;privateStringregisteredTime;publicUser(){}publicUser(StringuserName,StringpassWord,StringregisteredTime){this.userName=userName;this.passWord=passWord;this.registeredTime=registeredTime;}publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetPassWord(){returnpassWord;}publicvoidsetPassWord(StringpassWord){this.passWord=passWord;}publicStringgetRegisteredTime(){returnregisteredTime;}publicvoidsetRegisteredTime(StringregisteredTime){this.registeredTime=registeredTime;}}3 。编写功能实现类packagecom.switcher;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.text.SimpleDateFormat;importjava.util.Date;importcom.entity.User;importcom.thoughtworks.xstream.XStream;/****使用XStream不用任何映射就能实现多数Java对象的序列化 。*在生成的XML中对象名变成了元素名,类中的字符串组成了XML中的元素内容 。*使用XStream序列化的类不需要实现Serializable接口 。*XStream是一种序列化工具而不是数据绑定工具*不能从XML或者XMLSchemaDefinition(XSD)文件生成类 。*/publicclassSwitchXML{/**XStream不关心序列化/逆序列化的类的字段的可见性 。*序列化/逆序列化类的字段不需要getter和setter方法 。*序列化/逆序列化的类不需要有默认构造函数 。*/privateXStreamxStream=newXStream();privateStringxmlPath="D:/userdata.xml";//1.obj-xml(object类型转换为xml类型)publicStringprintXML(Useruser){System.out.println("obj-xml");Stringxml=xStream.toXML(user);System.out.println(xml);returnxml;}//2.xml-obj(xml类型转换为object类型 , 并打印)publicvoidprintObj(Stringxml){System.out.println("xml-obj");Useru=(User)xStream.fromXML(xml);System.out.println(u.getUserName() "" u.getPassWord() "" u.getRegisteredTime());}//3.将object类型转换为xml类型,并写入XML文件(其他格式也可以,比如txt文件)publicvoidwriterXML(Useruser){try{FileOutputStreamfs=newFileOutputStream(xmlPath);xStream.toXML(user,fs);}catch(FileNotFoundExceptione){e.printStackTrace();}}//4.读取XML文件,加载进相应Object类型publicvoidreaderXML(){Useruser=newUser();FileInputStreamfis=null;try{fis=newFileInputStream(xmlPath);}catch(FileNotFoundExceptione){e.printStackTrace();}xStream.fromXML(fis,user);//打印对象信息System.out.println(user.toString());//打印对象的属性值System.out.println(user.getUserName() "-" user.getPassWord() "-" user.getRegisteredTime());}publicstaticvoidmain(String[]args){//用户名Stringusername="admin";//密码Stringpassword="admin";//注册时间Datenow=newDate();SimpleDateFormatformat=newSimpleDateFormat("yyyyMMddHHmmss");Stringregisteredtime=format.format(now);Useruser=newUser(username,password,registeredtime);SwitchXMLswitchXML=newSwitchXML();//1.object类型转换为xml类型,在控制台打印Stringxml=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 , 然后通过什么插件可以请求webservice接口并得到响应结果?可以使用httpClientjava拼xml代码,
/**
*
* soapData 组装后xml
*/
public static String postHttpSoap(String url, String soapData) {
StringBuilder sb = new StringBuilder();
PostMethod postMethod = new PostMethod(url);
try {
byte[] b = soapData.getBytes("utf-8");
InputStream is = new ByteArrayInputStream(b, 0, b.length);
RequestEntity re = new InputStreamRequestEntity(is, b.length,
"application/soap xml; charset=utf-8");
// httpPost.setEntity(new StringEntity(soapData, "utf-8"));
postMethod.setRequestEntity(re);
HttpClient httpClient = new HttpClient();
int statusCode = httpClient.executeMethod(postMethod);
String soapResponseData = https://www.04ip.com/post/postMethod.getResponseBodyAsString();
System.out.println(statusCode);
System.out.println(soapResponseData);
sb.append(statusCode);
} catch (ClientProtocolException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
return sb.toString();
}
一个XML 代码段 用java解决DOM4J是目前处理XML最方便java拼xml代码的手段
//
读XML文件
SAXReader
reader
=
new
SAXReader();
Document
doc
=
reader.read(new
File(path));
//
读字符串
Document
doc
=
DcoumentHelper.parseText(text);
//
获取目标节点
xpath比较方便
或者从根节点循环查找
ListElement
list
=
doc.selectNodes("//OperateInfo[operateDetails=下单]");
for(Element
elm:list){
System.out.println(elm.element("operateTime").elementText());
}
以上代码凭记忆写java拼xml代码的
未验证
大致就这样个意思
仅供参考
Java中用string拼接成xml不建议对string拼接xml串容易出错 , java 有很多bean转xml的工具,这样容易很多,也不容易出错 , JAXB 是不错的选择 , j2ee中自带了 , 或者从搜索引擎中找 ,代码参考 , 一个TRequest 类,他有几个属性 name,id等等
@XmlRootElement(name = "TRequest")
@XmlAccessorType(XmlAccessType.FIELD)
public class TRequest implements java.io.Serializable{
@XmlElement(name="name")
private String name;
@XmlElement(name="id")
private String id;
public String getName() {
return name;
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
}
TRequestt= new TRequest();
t.setName("ddddddd");
t.setId("11");
StringWriter writer = new StringWriter();
JAXBContext context = JAXBContext.newInstance(t.getClass());
Marshaller marshaller = context.createMarshaller();
//marshaller.setProperty("com.sun.xml.bind.xmlDeclaration", Boolean.FALSE);
marshaller.marshal(t, writer);
String res=writer.toString();
writer.close();
java 字符串组合成xml输出的时候加个格式?。。?
String xml = “你的xml”;
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("utf-8");
response.setContentType("text/xml;charset=UTF-8");//这里注意是xml
response.setHeader("Cache-Control", "no-cache");
response.getWriter().print(xml);
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返回的是NodeListjava拼xml代码,所以要跟上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();
}
}
}
XMLjava拼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代码 java拼装xml】java拼xml代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java拼装xml、java拼xml代码的信息别忘了在本站进行查找喔 。

    推荐阅读