<DIE_INFORMATION>
<PART_INFO>
<ENGINEERING_INFO>
<PART_NO>零件图号</PART_NO>
<PART_PARTVERSION>零件版次</PART_PARTVERSION>
<PART_PARTNAME>零件名称</PART_PARTNAME> </ENGINEERING_INFO>
<GEOMETRY_INFO>
<GEO_L>零件展开长度</GEO_L>
<GEO_ML>毛料长度</GEO_ML>
</GEOMETRY_INFO>
</PART_INFO>
<DIE_INFO>
<DIE_NO>模具图号</DIE_NO>
<DIE_STRUCT>
<STR_S>结构1名称</STR_S>
<STR_T>厚度</STR_T>
</DIE_STRUCT>
<DIE_STRUCT>
<STR_S>结构2名称</STR_S>
<STR_T>厚度</STR_T>
</DIE_STRUCT>
<DIE_MATIRIAL>
<MAT_MAT>模具材料</MAT_MAT>
<MAT_R1>预备热处理</MAT_R1>
<MAT_R2>最终热处理</MAT_R2>
</DIE_MATIRIAL>
<DIE_GEOMETRY>
<GEO_POINT ID="1">1.0,1.6,1.9</GEO_POINT>
<GEO_POINT ID="2">2.3,2.5,2.9</GEO_POINT>
<GEO_POINT ID="3">301,32.96,3.4</GEO_POINT>
………………
</DIE_GEOMETRY>
</DIE_INFO>
</DIE_INFORMATION>
Java代码://dom4j
***********************************************************************************************try {
if(type.equals("xml")){
SAXReader reader = new SAXReader();
Document document = reader.read(new File(filePath));
Node treeNode01=document.selectSingleNode("//PART_INFO//ENGINEERING_INFO//PART_NO");//零件图号
Node treeNode02=document.selectSingleNode("//PART_INFO//ENGINEERING_INFO//PART_PARTVERSION");//零件版次
Node treeNode03=document.selectSingleNode("//PART_INFO//GEOMETRY_INFO//GEO_L");//零件长度
Node treeNode04=document.selectSingleNode("//PART_INFO//GEOMETRY_INFO//GEO_ML");//毛料长度 Node treeNode05=document.selectSingleNode("//DIE_INFO//DIE_GEOMETRY//GEO_POINT");//几何信息
//此处不知道怎样把数据取出来,数据不只三条,每条数据包含三个数值
在java下采用dom4j,
在读取DIE_INFO//DIE_GEOMETRY的时候,需要把每一行里面的三个数据存储到三维数组里面,数据的数量不定,请大家指导一下如何读取,谢谢。
解决方案 »
- strust2问题:Could not find action or result
- 困扰已久的错误:java.sql.SQLException: Invalid SQL statement or JDBC escape,盼高人解决。
- tomcat6 应用jar包提取共享
- getOutputStream() has already been called for this response
- 日期格式化问题,真奇怪,!!!!
- 在线求解,关于getRequestDispatcher
- 除endorsed方法外还有办法能让jax-ws2.1覆盖jax-ws2.0吗?
- 关于Tomcat发布的问题
- 请各位大侠给点建议
- 学生族求助啊,各位大神,我用ejb做作业,出现连接问题,困扰两天了
- Spring Hibernate C3P0 连接MySQL 出现出现错误
- JSP+struts2的在线测试系统源码,我想学习下
Element root = document.getRootElement();
List ls = root.element("DIE_INFO").element("DIE_GEOMETRY").elements("GEO_POINT");
然后遍历ls
node05返回的是一个list
定义一个Map<Integer,String> map
你对list进行迭代罗. dom4j可以直接拿属性值的.拿到id做为key,放到map里,拿出后面的值做为一个整String放到map里面.
再对map进行迭代...用 string.split(",") 返回来的就是一个length=3的数组啊..
下面的具体操作就看你的需求了....具体代码我就不想写了.今天帮人回答几个面试的算法题.有些累了.要不你加我好友吧.晚上回家,有时间帮你写..返正操作xml除了读取技术外,就是list 和map set的应用了...看你熟悉这几个不了...
Element root=document.getRootElement();
Attribute attribute=root.attribute("size");// 属性名name
2.取得属性的文字
String text=attribute.getText();也可以用:
String text2=root.element("name").attributeValue("firstname");这个是取得根节点下name字节点的属性firstname的值.3.遍历某节点的所有属性
Element root=document.getRootElement();
for(Iterator it=root.attributeIterator();it.hasNext();){
Attribute attribute = (Attribute) it.next();
String text=attribute.getText();
System.out.println(text);
}
4.设置某节点的属性和文字.
newMemberElm.addAttribute("name", "sitinspring");
5.设置属性的文字
Attribute attribute=root.attribute("name");
attribute.setText("sitinspring");
6.删除某属性
Attribute attribute=root.attribute("size");// 属性名name
root.remove(attribute);