java 해석 xml에서 자주 사용하는 몇 가지 방식 요약
xml 파일은 다음과 같습니다.
Everyday Italian
Giada De Laurentiis
2005
30.00
ccccc
Harry Potter
J K. Rowling
2005
29.99
XQuery Kick Start
James McGovern
Per Bothner
Kurt Cagle
James Linn
Vaidyanathan Nagarajan
2003
49.99
Learning XML
Erik T. Ray
2003
39.95
package sort;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
public class D2 {
/**
* DOM
* @param args
* @throws Exception
*/
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 {
/**
* SAX
* @param args
* @throws Exception
*/
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 {
/**
* XMLStream
* @param args
* @throws Exception
*/
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;
/**
* DOM4j XPATH XML ( jar )
* @author zhoufeng
*
*/
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"));
/* cc */
System.out.println(root.selectNodes("//cc").size());;
/* book , author */
System.out.println((root.selectNodes("//book[author]").size()));;
/* book , category */
System.out.println((root.selectNodes("//book[@category]").size()));;
/* book , author James McGovern , category WEB price */
System.out.println(root.selectNodes("//book[author='James McGovern'][@category='WEB']/price").size());;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.