실전 xml 구조 해석 의 XmlBeans 사용
최근 항목 에 xml 문자열 을 만 드 는 데 필요 한 것 이 있 습 니 다:
제3자 합작 파트너 가 요청 을 제출 합 니 다. 저 희 는 server 측 으로서 DB 에서 조건 에 맞 는 기록 을 조회 한 다음 에 xml 문자열 로 구성 하여 제3자 합작 파트너 에 게 되 돌려 줍 니 다.
예전 에 dom 의 사용 경험 이 있 었 지만 dom 의 단점 은 모두 가 알 고 있 습 니 다. xml 가 복잡 할 때 성능 이 좋 지 않 습 니 다.DB 에 기록 이 많 을 때 구조 가 필요 한 xml 는 복잡 하 다.인터넷 에 서 는 XmlBeans 가 좋다 고 하 는데 이번 에는 사용 해 보 세 요. 다음은 구체 적 인 응용 과정 입 니 다.
1. 준비 작업
1. XmlBeans 에 필요 한 소프트웨어 다운로드: XmlBeans 설치 패키지 (여 기 는 XmlBeans 2.2.0 을 예 로 들 면)
2. 환경 변 수 를 설정 합 니 다 (windows 에서 Linux 와 기본적으로 일치 합 니 다)
(1) PATH 환경 변 수 를 수정 하여 xmlbean \ bin 디 렉 터 리 를 추가 합 니 다:% XMLBEANSHOME%\bin.
(2) CLASSPATH 환경 변 수 를 수정 하고 XmlBean 과 관련 된 jar 패 키 지 를 추가 합 니 다.
2. xml 파일 형식 을 정의 하고 xsd 파일 을 생 성 합 니 다.
(1) 필요 에 따라 xml 파일 형식 을 정의 할 수 있 습 니 다. 예 를 들 어:
<?xml version="1.0" encoding="UTF-8"?>
<response >
<record>
<id/>
<order_username/>
<order_time/>
</record>
</response>
(2) xsd 파일 생 성.
XML 파일 을 통 해 Schema 파일 을 만 들 수 있 습 니 다. 물론 손 으로 쓰 는 것 이 좋 습 니 다.인터넷 에서 XMLSPY 를 쉽게 찾 을 수 있다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--W3C Schema XMLSpy v2006 U (http://www.altova.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="id" type="xs:string"/>
<xs:element name="order_time" type="xs:string"/>
<xs:element name="order_username" type="xs:string"/>
<xs:element name="record">
<xs:complexType>
<xs:sequence>
<xs:element ref="id"/>
<xs:element ref="order_username"/>
<xs:element ref="order_time"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="response">
<xs:complexType>
<xs:sequence>
<xs:element ref="record"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
3. XmlBeans 명령 을 사용 하여 xml 에 대응 하 는 jar 패키지 와 원본 파일 을 생 성 합 니 다.scomp -src build\src -out build\testXmlBean.jar schema\test.xsd -compiler C:\jdk150_12\bin\javac
scomp 는 testXmlBean. jar 를 생 성하 여 build 디 렉 터 리 에 두 고 소스 코드 를 build \ src 에 생 성 합 니 다. Schema 파일 은 test. xsd 입 니 다. 우 리 는 jar 파일 을 원 합 니 다.
4. testXmlBean. jar 의 클래스 경 로 를 만 듭 니 다.
<xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config">
<xb:namespace>
<xb:package>test.pkg</xb:package>
</xb:namespace>
</xb:config>
test. pkg 은 testXmlBean. jar 의 클래스 가 있 는 경로 입 니 다. 이것 은 반드시 제정 해 야 합 니 다.
5. 구조 xml 파일.
DB 의 데이터 에 따라 구조 xml 기록 은 제3자 와 의 데이터 통신 에 자주 사용 된다.
public static String createXML(List testList) {
StringBuffer xmlGen = new StringBuffer();
try{
ResponseDocument newPODoc = ResponseDocument.Factory.newInstance();
Response response = newPODoc.addNewResponse();
for(int i = 0; i < testList.size(); i++){
TestDTO testDTO = (TestDTO) testList.get(i);
Record record = response.addNewRecord();
record.setId(String.valueOftestDTO.getId)));
record.setOrderUsername(testDTO.getUsername());
record.setOrderTime(testDTO.getSubmitdate());
response.setRecordArray(i, record);
}
// xml
newPODoc.save(new File("/data/test/test" + DateUtils.dateToLongString(new Date()) + ".xml"));
xmlGen.append(newPODoc.xmlText());//xml
}catch(Exception e){
e.printStackTrace();
}
return xmlGen.toString();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
XML이란 무엇입니까?이것은 저장, 검색 및 공유할 수 있는 형식으로 데이터를 저장하는 강력한 방법입니다. 가장 중요한 것은 XML의 기본 형식이 표준화되어 있기 때문에 시스템이나 플랫폼 간에 로컬 또는 인터넷을 통해 XML을 공유하거나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.