各种方法都用过。现在总结一下。 经常记不住,要找资料。现在总结一下。
xml 文件如下:
复制代码 代码如下:
Giada De Laurentiis
J K. Rowling
James McGovern
Per Bothner
Kurt Cagle
James Linn
Vaidyanathan Nagarajan
Erik T. Ray
复制代码 代码如下:
package sort;
import javax.xml.parsers.documentBuilder;
import javax.xml.parsers.documentBuilderFactory;
import org.w3c.dom.document;
public class D2 {
public static void main(String[] args) throws Exception{
documentBuilder sb = documentBuilderFactory.newInstance().newdocumentBuilder();
document root = sb.parse(D2.class.getClassLoader().getResourceAsStream("NewFile.xml"));
System.out.println(root.getChildNodes().item(0).getNodeName());
}
}
复制代码 代码如下:
package sort;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl;
public class D {
public static void main(String[] args) throws Exception {
SAXParserFactory factory = SAXParserFactoryImpl.newInstance();
SAXParser parser = factory.newSAXParser() ;
parser.parse(D.class.getClassLoader().getResourceAsStream("NewFile.xml"),
new DefaultHandler(){
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
System.out.println("characters");
}
@Override
public void enddocument() throws SAXException {
// TODO Auto-generated method stub
System.out.println("enddocument");
}
@Override
public void endElement(String uri, String localName,
String qName) throws SAXException {
// TODO Auto-generated method stub
System.out.println("endElement");
}
@Override
public void startdocument() throws SAXException {
// TODO Auto-generated method stub
System.out.println("startdocument");
}
@Override
public void startElement(String uri, String localName,
String qName, Attributes attributes)
throws SAXException {
// TODO Auto-generated method stub
System.out.println("startElement");
}
}) ;
}
}
复制代码 代码如下:
package sort;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamReader;
public class D3 {
public static void main(String[] args) throws Exception {
XMLInputFactory xmlFactor = XMLInputFactory.newFactory();
XMLStreamReader reader =
xmlFactor.createXMLStreamReader(D3.class.getClassLoader().getResourceAsStream("NewFile.xml"));
while(reader.hasNext()){
int point = reader.next() ;
switch(point){
case XMLStreamReader.START_ELEMENT :
System.out.println("start_element");
case XMLStreamReader.END_ELEMENT :
// do something...
}
}
}
}
复制代码 代码如下:
package sort;
import org.dom4j.document;
import org.dom4j.io.SAXReader;
public class D4 {
public static void main(String[] args) throws Exception{
SAXReader reader = new SAXReader() ;
document root = reader.read(D4.class.getClassLoader().getResourceAsStream("NewFile.xml"));
System.out.println(root.selectNodes("//cc").size());;
System.out.println((root.selectNodes("//book[author]").size()));;
System.out.println((root.selectNodes("//book[@category]").size()));;
System.out.println(root.selectNodes("//book[author='James McGovern'][@category='WEB']/price").size());;
}
}



