java如何解析由用友的订单生成的xml文件,并将节点属性的值获取封装成对象
附图:因为生成xml文件的表单有主表和子表组成,主表的元素要放在一个对象中,子表的元素也要放在对象中,并且子表的记录数为2个,所以需要两个记录数据来存放不同对象中。主表和...
附图:
因为生成xml文件的表单有主表和子表组成,主表的元素要放在一个对象中,子表的元素也要放在对象中,并且子表的记录数为2个,所以需要两个记录数据来存放不同对象中。主表和子表是一对多的关系。怎样实现 求大神指导 谢谢了。 加急中!!!!!!!!!!! 展开
因为生成xml文件的表单有主表和子表组成,主表的元素要放在一个对象中,子表的元素也要放在对象中,并且子表的记录数为2个,所以需要两个记录数据来存放不同对象中。主表和子表是一对多的关系。怎样实现 求大神指导 谢谢了。 加急中!!!!!!!!!!! 展开
1个回答
推荐于2016-07-10
展开全部
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class ParseXML {
public static void main(String[] args) throws Exception{
// step 1: 获得dom解析器工厂(工作的作用是用于创建具体的解析器)
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// step 2:获得具体的dom解析器
DocumentBuilder db = dbf.newDocumentBuilder();
// step3: 解析一个xml文档,获得Document对象(根结点)
Document document = db.parse(new File("src/MyXml.xml"));
NodeList list = document.getElementsByTagName("VALUE");
for(int i = 0; i < list.getLength(); i++){
Element node = (Element)list.item(i);
Element e = (Element)(node.getElementsByTagName("NO").item(0));
System.out.println(e.getAttribute("data"));
e.setAttribute("data", "99");
System.out.print("车牌号码:" + node.getElementsByTagName("NO").item(0).getFirstChild().getNodeValue());
System.out.println("车主地址:" + node.getElementsByTagName("ADDR").item(0).getFirstChild().getNodeValue());
//下面代码修改后保存xml
TransformerFactory factory = TransformerFactory.newInstance();
Transformer former = factory.newTransformer();
former.transform(new DOMSource(document), new StreamResult(new File("src/MyXml.xml")));
}
}
}
/*
<?xml version="1.0" encoding="GB2312"?>
<RESULT>
<VALUE>
<NO data="23">A1234</NO>
<ADDR>四川省XX县XX镇XX路X段XX号</ADDR>
</VALUE>
<VALUE>
<NO data="24">B1234</NO>
<ADDR>四川省XX市XX乡XX村XX组</ADDR>
</VALUE>
</RESULT>
*/
你照着这个试试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询