XML 및 jdom 구문 분석
3. WHY XML?html 단점: 라벨을 확장할 수 없고 데이터와 디스플레이 스타일이 분리되지 않습니다.
4. XML이 가장 많이 사용하는 것은 A, 프로필 B, 데이터 교환(이질 정보 교환) C, 파충류 등 네트워크 기술에 유리하다
5. 명명 공간 아래 예에서policeman 007name의 명명 공간은 생략된 방식을 사용했고 혈도 노조name는 X로 시작하는 명명 공간을 사용했다.
“xmlns:X="http://www.police.net/criminal.dtd "”그래서 두 개의name가 구분되었다.
-
xmlns:X="http://www.police.net/criminal.dtd ">
6. 처리 지시
7. 디자인 원칙 아래 속성은 요소로 설계할 수 있다. 만약에 속성이 서브구조를 포함한다면 이 숙성 발생 횟수가 여러 번 발생하는 것이 비교적 중요하고 DTD는 제한이 필요하다.
8. jdom,dom4j,ax 해석
다음은 jdom로 해석하겠습니다. 비교적 간단하기 때문입니다.
9. 구체적인 예
1、gobal-configure.xml
<?xml version="1.0" encoding="UTF-8"?>
<sys-configure>
<jdbc-info>
<driver-class-name>com.mysql.jdbc.Driver</driver-class-name>
<url>jdbc:mysql://10.60.40.201:3306/futures3</url>
<user-name>root</user-name>
<password>symbio</password>
<beans>
<bean id="categoryBourse" class="com.symbio.hz.dataload.CategoryBourse"></bean>
<bean id="categoryTradeMonth" class="com.symbio.hz.dataload.CategoryTradeMonth"></bean>
</beans>>
</jdbc-info>
</sys-configure>
2、DBManager
package com.hz.data;
public class CategoryBourse {
}
public class DBManager {
private String dbDriver_;
private String dbUrl_;
private String dbLogin_;
private String dbPassword_;
public String getDbUrl_() {
return dbUrl_;
}
public void setDbUrl_(String dbUrl_) {
this.dbUrl_ = dbUrl_;
}
public String getDbLogin_() {
return dbLogin_;
}
public void setDbLogin_(String dbLogin_) {
this.dbLogin_ = dbLogin_;
}
public String getDbPassword_() {
return dbPassword_;
}
public void setDbPassword_(String dbPassword_) {
this.dbPassword_ = dbPassword_;
}
public void setDbDriver_(String dbDriver_) {
this.dbDriver_ = dbDriver_;
}
}
3、Globleconfigue.java
package hz.data;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;
/**
* xml
*
*/
public class Globleconfigue {
// xml 。
private static final String CONFIG_FILE_NAME="gobal-configure.xml";
//
private Element rootElt;
// DBManager
private DBManager dbManager= new DBManager();
public DBManager getDbManager() {
return dbManager;
}
// initBeans(); bean
private Map beanMap= new HashMap();
// 。
private static Globleconfigue instance = new Globleconfigue();
private Globleconfigue(){
// SAXBuilder , dom 。
SAXBuilder sb=new SAXBuilder();
try {
// sb.build(in) SAXBuilder sb in Document 。
Document doc = sb.build(Thread.currentThread().getContextClassLoader().getResourceAsStream(CONFIG_FILE_NAME));
// Document 。
this.rootElt=doc.getRootElement();
// rootElt.getChildren(); , , xpath。
// initJdbcInfo()
initJdbcInfo();
// initBeans()
initBeans();
} catch (JDOMException e) {
// TODO
e.printStackTrace();
} catch (IOException e) {
// TODO
e.printStackTrace();
}
}
public static Globleconfigue getInstance() {
return instance;
}
/*
*
*/
private void initJdbcInfo(){
try {
// Elenment
Element driveClassNameElt = (Element) XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/driver-class-name");
//System.out.println(driveClassNameElt.getText());
// DbDriver_
dbManager.setDbDriver_(driveClassNameElt.getText());
Element urlElt = (Element) XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/url");
dbManager.setDbUrl_(urlElt.getText());
Element userNameElt = (Element) XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/user-name");
dbManager.setDbLogin_(userNameElt.getText());
Element passwordElt = (Element) XPath.selectSingleNode(rootElt, "//sys-configure/jdbc-info/password");
dbManager.setDbPassword_(passwordElt.getText());// DBManager 。
System.out.println("dbManager : "+dbManager.getDbDriver_()+" ====== "+"dbManager url: "+dbManager.getDbUrl_());
} catch (JDOMException e) {
// TODO
e.printStackTrace();
}
}
/*
* bean
*/
private void initBeans(){
try {
// List (List Element ), XPath.selectNodes
List beanList = XPath.selectNodes(rootElt,"//sys-configure/beans/bean");
for(Iterator iter=beanList.iterator(); iter.hasNext();){
Element beanElt=(Element)iter.next();
// id xml ID
String id=beanElt.getAttributeValue("id");
String className=beanElt.getAttributeValue("class");
System.out.println("id="+id);
System.out.println("name="+className);
// bean , map 。
Object obj=Class.forName(className).newInstance();//
beanMap.put(id, obj);
}
} catch (JDOMException e) {
// TODO
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Object getBean(String c){
return beanMap.get(c);
}
public static void main(String[] args){
Globleconfigue.getInstance();
CategoryBourse categoryBourse=(CategoryBourse)Globleconfigue.getInstance().getBean("categoryBourse");
}
}
4、CategoryBourse.java
공허하다
5, jdom 쓰기
package hz.data;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
/*
* <selects>
* <select>
* <id>1</id>
* <name> </name>
* </select>
* <select>
* <id>2</id>
* <name> </name>
* </select>
* </selects>
*/
public class XMLWrite {
public static void main(String[] args){
Element rootElt=new Element("selects");
Element selectElt=new Element("select");
Element idElt=new Element("id");
idElt.addContent("1");
Element valueElt=new Element("name");
valueElt.addContent(" ");
selectElt.addContent(idElt);
selectElt.addContent(valueElt);
rootElt.addContent(selectElt);
//
//
Document doc=new Document(rootElt);// rootElt Document
XMLOutputter out=new XMLOutputter();//jdom ,out
// GBk, GB2312
out.setFormat(Format.getCompactFormat().setEncoding("GB2312"));
// ,
String xmlStr=out.outputString(doc);
//
System.out.print(xmlStr);
//
try {
out.output(doc, new FileOutputStream("c://test.xml"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위에서 쓴 것이 맞는지 검증하는 가장 간단한 방법은 i 브라우저로 생성된 xml 파일을 여는 것입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
XML이란 무엇입니까?이것은 저장, 검색 및 공유할 수 있는 형식으로 데이터를 저장하는 강력한 방법입니다. 가장 중요한 것은 XML의 기본 형식이 표준화되어 있기 때문에 시스템이나 플랫폼 간에 로컬 또는 인터넷을 통해 XML을 공유하거나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.