以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  DOM4J编程求助,怎样定位某节点对应的某兄弟节点(具体看题目、代码)  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=35848)


--  作者:duanweihot
--  发布时间:7/20/2006 3:43:00 PM

--  DOM4J编程求助,怎样定位某节点对应的某兄弟节点(具体看题目、代码)
这个是要查的XML文件。
<?xml version="1.0" encoding="gb2312"?>
<TPI_TABLE>
<TPI_Record>
<篇名><![CDATA[膨胀石墨蠕虫的红外衰减性能研究]]></篇名>
<作者><![CDATA[陈作如,万纯,李永富]]></作者>
<机构><![CDATA[南京理工大学化工学院,南京理工大学化工学院,南京理工大学化工学院 江苏南京210094

,江苏南京210094

,江苏南京210094]]></机构>
<关键词><![CDATA[材料科学;;膨胀石墨;;红外;;衰减]]></关键词>
<中文摘要><![CDATA[本文报道了不同膨胀容积的膨胀石墨蠕虫的红外衰减实验结果,并将其与常用的红外干扰材料———天然鳞片状石墨的红外衰减性能作了对比研究。结果表明:膨胀石墨蠕虫比天然鳞片状石墨具有更好的红外衰减性能。膨胀石墨蠕虫的红外衰减性能与该材料的膨胀容积有关,膨胀容积大,红外衰减性能好。  ]]></中文摘要>
<光盘号><![CDATA[SCTB0501]]></光盘号>
<文献号><![CDATA[0]]></文献号>
<中文刊名><![CDATA[材料科学与工程学报]]></中文刊名>
<年><![CDATA[2005]]></年>
<期><![CDATA[01]]></期>
<CN><![CDATA[33-1307/T]]></CN>
<ISSN><![CDATA[1004-793X]]></ISSN>
<文件名><![CDATA[CLKX200501011]]></文件名>
<页><![CDATA[42-44]]></页>
<分类号><![CDATA[TJ04]]></分类号>
<专题代码><![CDATA[G086]]></专题代码>
<来源数据库><![CDATA[中国学术期刊全文数据库]]></来源数据库>
</TPI_Record>
<TPI_Record>
<篇名><![CDATA[走过冬季,我们携手灿烂]]></篇名>
<中文摘要><![CDATA[<正>一年四季52个星期365天8760小时,却在指尖触摸键盘的当儿,从我们身边走过。很快,如风,抓不住,也很慢,似孩子,《当代海军》仍存有幼稚和缺点的地方。好在读者们襟怀仁厚以笑宽之。这样,在新年到来之际,我们欣慰地告诉大家,我们已经走过冬季,已经脱掉了一件件沉重的包袱,我们欣欣向荣。并在新年到来之际,决心用实际行动,回报我们最优秀最智慧的读者们。  ]]></中文摘要>
<光盘号><![CDATA[ELAW0502]]></光盘号>
<文献号><![CDATA[0]]></文献号>
<中文刊名><![CDATA[当代海军]]></中文刊名>
<年><![CDATA[2005]]></年>
<期><![CDATA[01]]></期>
<CN><![CDATA[11-3650/E]]></CN>
<ISSN><![CDATA[1006-6071]]></ISSN>
<文件名><![CDATA[DDHJ200501001]]></文件名>
<页><![CDATA[11]]></页>
<分类号><![CDATA[E273]]></分类号>
<专题代码><![CDATA[G086]]></专题代码>
<来源数据库><![CDATA[中国学术期刊全文数据库]]></来源数据库>
</TPI_Record>
</TPI_TABLE>
==============================================
下面是*.java代码:

import java.io.File;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
//import org.dom4j.tree.FlyweightCDATA;

/**
* @author Holen Chen
*/
public class Dom4jDemo {
 
 public Dom4jDemo() {
 }
 
 /**
  * 根据书名来查询相关书籍的摘要。
  * @param bookname 需要查询的书名
  * @param filename 需要查询的DC文件名
  * @return 返回操作结果, 0表失败, 1表成功
  */
 public int selectXMLFile(String filename,String bookname){
  int returnValue = 0;
  try{
   SAXReader saxReader = new SAXReader(); 
   Document document = saxReader.read(new File(filename));
   List list = document.selectNodes("/TPI_TABLE/TPI_Record/" ); 
   Iterator iter = list.iterator();
   while(iter.hasNext()){
    Element ele= (Element)iter.next();
    String fcd=ele.getText();
    if(fcd.equals(bookname)) 
    {System.out.println(""+bookname+"'s information as follows");
     System.out.println("中文摘要:");
     System.out.println("!!!这里有问题需要请教:怎样获取该节点相应的书籍摘要?")
    }
    } 
   
   returnValue = 1;  
  }
  catch(Exception ex){
   ex.printStackTrace();
  }
  return returnValue; 
 } 
 public static void main(String[] args) {
  Dom4jDemo temp = new Dom4jDemo();
  System.out.println(temp.selectXMLFile("E://duanwei/grid/XML处理/dh/test.xml","膨胀石墨蠕虫的红外衰减性能研究"));
  
 }
}


--  作者:duanweihot
--  发布时间:7/20/2006 8:10:00 PM

--  
问题已解决!
package com.holen.dom4j;

import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.*;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.Node;
//import org.dom4j.tree.FlyweightCDATA;

/**
* @author Holen Chen
*/
public class Dom4jDemo {
 
 public Dom4jDemo() {
 }
 
 /**
  * 根据书名来查询相关书籍的摘要。
  * @param bookname 需要查询的书名
  * @param filename 需要查询的DC文件名
  * @return 返回操作结果, 0表失败, 1表成功
  */
 public int selectXMLFile(String bookname,String filename){
  int returnValue = 0;
  /*try{
   System.in.read();
   bookname=in.nextLine().toString();
   //bookname="fsdf";
  }catch(Exception ex)
  {
   ex.printStackTrace();
  }*/
  try{
   SAXReader saxReader = new SAXReader(); 
   Document document = saxReader.read(new File(filename));
   List list = document.selectNodes("/TPI_TABLE/TPI_Record/篇名"); 
   Iterator iter = list.iterator();
   while(iter.hasNext()){
    Element ele= (Element)iter.next();
    String fcd=ele.getText();
    if(fcd.contains(bookname)) 
    {
     System.out.println("《"+fcd+"》");
    
    Element ele2=ele.getParent();
    List list2=ele2.elements();
    Iterator iter2=list2.iterator();
    while(iter2.hasNext()){
     Element ele3=(Element)iter2.next();
     //String xpath=ele3.getStringValue();
    //  System.out.println(xpath);
     if(ele3.getName().equals("中文摘要"))
       {
        String fcd2=ele3.getText();
        System.out.println("中文摘要:");
        System.out.println(fcd2);
       }
    }
    
    /*Node node= document.selectSingleNode("/TPI_TABLE/TPI_Record/中文摘要");
    String s2=node.getText();
     System.out.println("中文摘要:");
     System.out.println(s2);
    }
    }*/ 
    }
   returnValue = 1;  
  }
  }
  catch(Exception ex){
   ex.printStackTrace();
  }
  return returnValue; 
 } 
 public static void main(String[] args) {
  Dom4jDemo temp = new Dom4jDemo();
  System.out.println(temp.selectXMLFile("灿烂","E://duanwei/grid/XML处理/dh/cjfd2005.xml"));
  
 }
}


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms