请教各位如下格式的XML 如何解析 XML 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用dom4j 解析,用什么输出都行,xml 格式如上。 import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.util.Iterator; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; /** * 用dom4j生成条形码的XML格式: * <barcodeInfo> <barcodeString>1231231</barcodeString> <writeTimeString>2012-3-13 13:23:32</writeTimeString> </barcodeInfo> * @author wfg */public class DOM4jXML { /** * * @param 文件名(XXX.xml) * @param Str 字符串 * @param timeStr 时间字符串 */ public static void createBarcodeXml(String fileName,String barcodeStr,String timeStr) { Document document = DocumentHelper.createDocument(); //创建文档 Element barcodeInfo=document.addElement("barcodeInfo"); Element barcodeString=barcodeInfo.addElement("barcodeString"); Element writeTime=barcodeInfo.addElement("writeTimeString"); barcodeString.setText(barcodeStr); writeTime.setText(timeStr); try { Writer fileWriter=new FileWriter(fileName); XMLWriter xmlWriter=new XMLWriter(fileWriter); xmlWriter.write(document); //写入文件中 xmlWriter.close(); } catch (IOException e) { System.out.println(e.getMessage()); } } /** * 读取xml文件 * @param fileName */ void parserXml(String fileName) { File inputXml=new File(fileName); SAXReader saxReader = new SAXReader(); try { Document document = saxReader.read(inputXml); //把文件读入到文档 Element barcodeInfo=document.getRootElement(); //获取文档根节点 this.doublexml(barcodeInfo); } catch (DocumentException e) { System.out.println(e.getMessage()); } } private void doublexml(Element ele) { StringBuilder sb = new StringBuilder(); for(Iterator i = ele.elementIterator();i.hasNext();) { Element node = (Element)i.next(); System.out.println("节点名:"+node.getName()); String nodeName = node.getName(); if(node.attributes()!=null && node.attributes().size()>0) { for(Iterator j = node.attributeIterator();j.hasNext();) { Attribute item = (Attribute)j.next(); System.out.print("属性名:"+item.getName()+"\t属性值:"+item.getValue()+"\n"); } } if(node.getText().length()>0) { System.out.println("节点值:"+node.getText()); String nodeText = node.getText(); } if(node.elementIterator().hasNext()) { this.doublexml(node); } } } } //测试用例: DOM4jXML demo = new DOM4jXML(); //读xml demo.parserXml("h:/test.xml"); 可以直接用,这样的网上很多 各位大哥,帮我检查一下配置哪里配错了 页面中<table>插入数据库 Hibernate 级联更新问题 路过的大神们,Tomcat + JDNI ,这个。。。。JNDI 啊 登录后怎样让后退按钮无效? struts <logic:iterate>标签的问题- -||| Tomcat5的中文显示问题(特急) 做了五年程序员,打算自己做。想做一个大型网站,有网站设计开发经验的兄弟进来帮忙,分不够再加 请问在链接中如何默认打开一个文件。而不是下载 ireport生成PDF java连接mysql换到连接sqlserver2000出错了 jsp 打开 pdf 文件时报错
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
* 用dom4j生成条形码的XML格式:
* <barcodeInfo>
<barcodeString>1231231</barcodeString>
<writeTimeString>2012-3-13 13:23:32</writeTimeString>
</barcodeInfo>
* @author wfg
*/
public class DOM4jXML {
/**
*
* @param 文件名(XXX.xml)
* @param Str 字符串
* @param timeStr 时间字符串
*/
public static void createBarcodeXml(String fileName,String barcodeStr,String timeStr)
{
Document document = DocumentHelper.createDocument(); //创建文档
Element barcodeInfo=document.addElement("barcodeInfo");
Element barcodeString=barcodeInfo.addElement("barcodeString");
Element writeTime=barcodeInfo.addElement("writeTimeString");
barcodeString.setText(barcodeStr);
writeTime.setText(timeStr);
try {
Writer fileWriter=new FileWriter(fileName);
XMLWriter xmlWriter=new XMLWriter(fileWriter);
xmlWriter.write(document); //写入文件中
xmlWriter.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
/**
* 读取xml文件
* @param fileName
*/
void parserXml(String fileName)
{
File inputXml=new File(fileName);
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(inputXml); //把文件读入到文档
Element barcodeInfo=document.getRootElement(); //获取文档根节点
this.doublexml(barcodeInfo);
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
}
private void doublexml(Element ele)
{
StringBuilder sb = new StringBuilder();
for(Iterator i = ele.elementIterator();i.hasNext();)
{
Element node = (Element)i.next();
System.out.println("节点名:"+node.getName());
String nodeName = node.getName();
if(node.attributes()!=null && node.attributes().size()>0)
{
for(Iterator j = node.attributeIterator();j.hasNext();)
{
Attribute item = (Attribute)j.next();
System.out.print("属性名:"+item.getName()+"\t属性值:"+item.getValue()+"\n");
}
}
if(node.getText().length()>0)
{
System.out.println("节点值:"+node.getText());
String nodeText = node.getText();
}
if(node.elementIterator().hasNext())
{
this.doublexml(node);
}
}
}
} //测试用例:
DOM4jXML demo = new DOM4jXML();
//读xml
demo.parserXml("h:/test.xml"); 可以直接用,这样的网上很多