/**
 * 用JDOM标准访问temp4.xml中指定的一条记录
 * */
import org.jdom.Attribute;
import org.jdom.DocType;
import org.jdom.Document;
import org.jdom.Element;import org.jdom.input.SAXBuilder;import java.io.File;
import java.io.FileInputStream;
import java.util.List;
public class Test14 {
private Attribute myAttribute;
private DocType myDocType;
private Document myDocument;
private Element root,temp;
private SAXBuilder sb = new SAXBuilder();
private String myString;
private List myList;

private FileInputStream xmlFile;
public Test14(){
try{
xmlFile =  new FileInputStream(
new File("....\\temp4"));
this.myDocument = sb.build(xmlFile);
this.root = this.myDocument.getRootElement();
myList = this.root.getChildren();
this.start("D君","D书","1999-06-13");
}
catch(Exception e){
System.out.println(e.toString());
}
}

public void start(String indexTitleString,String indexWriterString,String publishDate){
Element myElement;
for(int i = 0 ; i < myList.size() ; i++){
myElement = (Element)myList.get(i);
if(myElement.getAttribute("title").getName().equals(new String(indexTitleString)) && myElement.getAttribute("Writer").getName().equals(new String(indexWriterString)) && myElement.getAttribute("publishDate").getName().equals(new String(publishDate))){
/*如果条件成立则定位成功,这里的代码不用再写了吧*/
}
}
}
}

解决方案 »

  1.   

    用JDOM可以解析,最近正在学习用java解析XML文档
    看了一下上面的方法 估计可行
      

  2.   

    查看下JDOM中有一个解释器可以应到的,JB编程思想(吴其庆编)中有谈到的!!
    我记不起了,你找下啦!!
      

  3.   

    http://blog.csdn.net/yorkchen/archive/2005/03/11/317034.aspx
      

  4.   

    这个XML现在应用还不是很普遍.
      

  5.   

    to: Ronanljy(心灵风暴) 
    这个XML现在应用还不是很普遍.
    那你看看现在你浏览器地址栏写的是什么?
    http://community.csdn.net/Expert/topic/3840/3840170.xml?temp=.5341303
    看清楚没有??
      

  6.   

    NodeList nodeList = document.getElementsByTagName("book");
    for(int i=0; i<nodeList.getLength(); i++)
    {
        Node node = (Node)nodeList(i);
        ...
    }
    DOM中只能找到同一类元素的集合,如果想按照属性再找记录,只能自己写代码了。