用正则表达式来解析这个字符串,看看java.util.regex包的文档
解决方案 »
- struts2 从action中读的内容在jsp中显示不出来
- 大哥们 快啊
- sybase数据导入到临时表的问题
- hibernate 在保存时必须先读取 怎么办?
- 复杂form提交问题.在线等
- 【500分】求“用jbuilder9 + weblogic开发web service的step by step教程?最好是调用ejb”急!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 【求助】我的bean找不到另一个类!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- Delphi做客户端,使用SOAP调用java编写的业务逻辑,为什么得到的汉字是乱码?
- 哪里有EJB的电子书可以下载,特急特急,大出血
- 如何刷新一个div内的 s:iterator
- 使用jax-rpc时出现Deserializing parameter的问题???
- 我在eclipse下用lomboz开发ejb,当在ejb模块下右击create ejb files时有以下错误,大虾们帮我看看
用XML解析最简单的了,为什么麻烦呢?愿听其详!
<Item Name="Customer_Code">30916156</Item>
<Item Name="Customer_Name">京洛有限公司</Item>
<Item Name="Sign_Area_Name">1000</Item>
<Item Name="Customer_Admin_Name">潘玉芳</Item>
<Item Name="Customer_State"> </Item>
.
.
.
n(n=100)</Record>有没有更好的解决办法呢??
<?xml version="1.0""UTF-8"?>
<root>
<Record>
<Item Name="Product_Code">1011</Item>
<Item Name="Product_Name">AC-DC 集总成品</Item>
</Record>
</root>
SAXReader reader=new SAXReader();
Document document=reader.read(String arg0);
可以将string转换成Document对象的,然后你操作Document很方便的
那就把string在运行的时候生成一个xml文件供调用
解析结束后删掉好吧
// 前部分代码省略...
//可以用dom来解析流文件,的确省去了不少力气,:)
//String 类型转换成InputStream类型,allXml代表上文类似xml文件的字符串,这里的allXml已经是标准的xml形式,不过是自己拼出来的.
StringBufferInputStream buf = new StringBufferInputStream(allXml);
InputStream input = (StringBufferInputStream)buf;
//打印xml字符串
System.out.println(allXml); //create工厂实例并转换成document实例
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder parser = factory.newDocumentBuilder();
//解析流文件
Document doc = parser.parse(input);
Element _element = doc.getDocumentElement();
//存储<item>值list
ArrayList valueList = new ArrayList();
//存储<record>list,也就是记录数
ArrayList recordList = new ArrayList();
//得到标签<record>list
NodeList rlist=_element.getElementsByTagName("Record");
//得到每个<record>的<Item>值
for(int j=0;j<rlist.getLength();j++){
Element _el = (Element)rlist.item(j);
NodeList nlist=_el.getElementsByTagName("Item");
int length = nlist.getLength();
for (int i = 0; i < length; i++) {
String nodeValue = nlist.item(i).getFirstChild().getNodeValue();
//将<Item>值存储到valueList中
valueList.add(i,nodeValue);
System.out.println(nodeValue);
}
//将<record>记录存储到recordList中
recordList.add(valueList);
}
该方法能解决我的问题,但是不知道有没有更好的方法,若哪位朋友知道,请不要吝啬啊!:)不过,目前本人不知道如何解析 含有中文的xml文件,哪位大虾知道,请指导一下在下,不胜感谢!