java xml转map(java dom4j 读取xml, 将xml 转换成 List<map<>>)

本文目录
- java dom4j 读取xml, 将xml 转换成 List
- java中 inputStream怎样高效率的准换成xml和json对象,然后转换成map集合
- java解析xml如何用dom方式解析xml并将数据放入hashmap
- Java文件解析xml文件转成 map
- 使用java语言,谁能提供一个读取xml文件,并将其转换成hashmap的通用类
- JAVA中如何遍历xml,取出 键、值传进Map里(考虑xml中的子节点的问题)用递归写 求救!谢谢了!
- java解析xml字符串 后 组装成map形式,求大神
java dom4j 读取xml, 将xml 转换成 List
String truepathSub = truepath.substring(0, truepath.length()-4);
String truepath1Sub = zipnpath.substring(0, zipnpath.length()-4);
String zipname = truepath.substring(25, truepath.length()-4);
SAXReader saxRead = new SAXReader();
Document inDoc = saxRead.read(new File(“C:\\apache-tomcat-6.0.29\\webapps\\xml\\“+truepathSub+
“\\“+truepath1Sub+“\\Test MetaData.xml“));
Element rootEl = inDoc.getRootElement();
Element element = rootEl.element(“Datas“);
//Element element1 = element.element(“TestData“);
for(Iterator i = element.elementIterator();i.hasNext();){
Element bookEl = (Element) i.next();
String Identifier = bookEl.elementText(“Identifier“);
String Type = bookEl.elementText(“Type“);
String Questions = bookEl.elementText(“Questions“);
String Difficulty = bookEl.elementText(“Difficulty“);
String SpecialtyType = bookEl.elementText(“SpecialtyType“);
String Specialty = bookEl.elementText(“Specialty“);
String Keyword = bookEl.elementText(“Keyword“);
String Answer = bookEl.elementText(“Answer“);
String Analysis = bookEl.elementText(“Analysis“);
String Contribute = bookEl.elementText(“Contribute“);
String Entity = bookEl.elementText(“Entity“);
String Date = bookEl.elementText(“Date“);
String Region = bookEl.elementText(“Region“);
String TypeOfSchool = bookEl.elementText(“TypeOfSchool“);
String EducationLevels = bookEl.elementText(“EducationLevels“);
String Course = bookEl.elementText(“Course“);
List《Stysj》 bookList = new ArrayList《Stysj》();
Stysj stysj = null;
stysj = new Stysj();
stysj.setIdentifier(Identifier);
stysj.setType(Type);
stysj.setQuestions(Questions);
stysj.setDifficulty(Difficulty);
stysj.setSpecialtyType(SpecialtyType);
stysj.setSpecialty(Specialty);
stysj.setKeyword(Keyword);
stysj.setAnswer(Answer);
stysj.setAnalysis(Analysis);
stysj.setContribute(Contribute);
stysj.setEntity(Entity);
stysj.setDate(Date);
stysj.setRegion(Region);
stysj.setTypeOfSchool(TypeOfSchool);
stysj.setEducationLevels(EducationLevels);
stysj.setCourse(Course);
stysj.setXmlname(zipname);
bookList.add(stysj);
simpleService.save(stysj);
java中 inputStream怎样高效率的准换成xml和json对象,然后转换成map集合
如果要转换成XML,可以使用Transformer转换
DOMResult result;
InputStream in = null;
try {
in = connect.getInputStream();
result = new DOMResult();
Transformer transformer = TransformerFactory.newInstance()
.newTransformer();
transformer.transform(new StreamSource(in), result);
} finally {
if (in != null) {
in.close();
}
}
Document doc = (Document)result..getNode();
Element docElement = doc.getDocumentElement();
后面就是你自己解析了
java解析xml如何用dom方式解析xml并将数据放入hashmap
纯dom和sax解析都是用工厂模式
用纯dom解析这样创建xml对象
Document doucment = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
file是xml文件路径
然后用getElementByTagName获取节点,开始解析
另外,这样用hashmap感觉很别扭
你确定要这样存?
Java文件解析xml文件转成 map
xml 文件解析 涉及到 属性 和 相同的节点元素, 解析成map需要做相应的处理,
具体实现可以看以下链接,
http://blog.csdn.net/u011490355/article/details/77775544
使用java语言,谁能提供一个读取xml文件,并将其转换成hashmap的通用类
/**
* 文件名:ReadXML.java
* 版本信息: V1.0
* 日期:2012-3-15
* Copyright Corporation 2010
* 版权所有 SNZKE
*/
package org.study.util;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
/**
* 项目名称:JavaOO
* 《br》类名称:ReadXML
* 《br》类描述:
* 《br》创建人:zengfc
* 《br》创建时间:2012-3-15 上午10:29:31
* 《br》修改人:zengfc
* 《br》修改时间:2012-3-15 上午10:29:31
* 《br》修改备注:
* 《br》@version
*/
public class ReadXML {
private static final String TAGNAME = “_tagName“;
private static final String ATTRIBUTES = “_attributes“;
private static final String CONTENT = “_content“;
private Node root;
public ReadXML(String path,String rootName){
loadXMLFILE(path,rootName);
}
public ReadXML(String path){
loadXMLFILE(path);
}
public void loadXMLFILE(String path){
loadXMLFILE(path,null);
}
public void loadXMLFILE(String path,String rootName){
File file = new File(path);
try {
if (file.exists()) {
Document document = DocumentBuilderFactory
.newInstance()
.newDocumentBuilder()
.parse(new File(path));
if(rootName == null || ““.equals(rootName)){
root = document.getFirstChild();
}else{
NodeList nodeList = document.getElementsByTagName(rootName);//根节点
root = nodeList.item(0);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public Map《String,Object》 readXml(){
try {
return readXml(root,null);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private Map《String,Object》 readXml(Node node,Map《String,Object》 parent) throws Exception{
Map《String,Object》 map=null;
String name = node.getNodeName();
map=new HashMap《String,Object》();
if(“#text“.equals(name)){
parent.put(CONTENT, node.getNodeValue());
return null;
}
map.put(TAGNAME, name);
map.put(CONTENT, node.getTextContent());
map.put(ATTRIBUTES, loadAttributes(node));
if(node.getNodeType() == Node.TEXT_NODE && !node.getNodeValue().trim().equals(““)){
map.put(“value“, node.getNodeValue());
}
if(node.getFirstChild() != null){
NodeList childNodes = node.getChildNodes();
for (int j = 0; j 《 childNodes.getLength(); j++) {
Node childNode = childNodes.item(j);
Map《String,Object》 par = new HashMap《String,Object》();
par.putAll(map);
String childName = childNode.getNodeName();
Map《String,Object》 inner = readXml(childNode,par);
if(inner != null){
if(map.containsKey(childName)){
Object obj = map.get(childName);
if(obj instanceof Map《?,?》){
List《Map《?,?》》 list = new ArrayList《Map《?,?》》();
list.add((Map《?,?》)map.get(childName));
list.add(inner);
map.put(childName, list);
}else if(obj instanceof List《?》){
((List《Map《?,?》》)map.get(childName)).add(inner);
}
}else{
map.put(childName, inner);
}
}
}
}
return map;
}
private Map《String,String》 loadAttributes(Node node){
Map《String,String》 attributes;
if(node.hasAttributes()){
attributes = new HashMap《String,String》();
}else{
return null;
}
NamedNodeMap maps = node.getAttributes();
for (int i = 0; i 《 maps.getLength(); i++) {
Node nod = maps.item(i);
attributes.put(nod.getNodeName(), nod.getNodeValue());
}
return attributes;
}
public static void main(String args) {
Map《String,Object》 map = new ReadXML(“person.xml“).readXml();
System.out.println(map);
}
}
JAVA中如何遍历xml,取出 键、值传进Map里(考虑xml中的子节点的问题)用递归写 求救!谢谢了!
我估计是要求按WCF模式下,利用NHibernate的架构方式组合
首先NHibernate里面有object-relation map 的xml
而WCF可以生成domainService,所以,一个是处于数据库层,一个是处于数据访问层
但是这两种方式的组合,我还没弄过,就在这里给你提一下吧
仔细看
2.An object-relation map for use by a object-relation system (or a ‘decorated’ domain model) such as NHibernate or EntityFramework/LINQ
是说你要讲数据库表,映射成有映射关系的NHibernate 模式,或EntityFramework/LINQ模式,可以任选其一,那么就可以选择任意一种模式了
另外,团IDC网上有许多产品团购,便宜有口碑
java解析xml字符串 后 组装成map形式,求大神
java html(XML)解析工具jsoup:
说明:使用起来非常简单,就先jquery的dom操作一样方便,jsoup 是一款Java 的HTML、XML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。使用它来做解析非常简单方便。
jsoup中文参考文档:
http://www.open-open.com/jsoup/

更多文章:
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00







