/**
* 用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))){
/*如果条件成立则定位成功,这里的代码不用再写了吧*/
}
}
}
}
* 用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))){
/*如果条件成立则定位成功,这里的代码不用再写了吧*/
}
}
}
}
看了一下上面的方法 估计可行
我记不起了,你找下啦!!
这个XML现在应用还不是很普遍.
那你看看现在你浏览器地址栏写的是什么?
http://community.csdn.net/Expert/topic/3840/3840170.xml?temp=.5341303
看清楚没有??
for(int i=0; i<nodeList.getLength(); i++)
{
Node node = (Node)nodeList(i);
...
}
DOM中只能找到同一类元素的集合,如果想按照属性再找记录,只能自己写代码了。