문제

모든 XML 소스 (파일, 웹 서버, 기타 서버)에서 요소 이름 값 (시계열 데이터) 쌍을 가져 오는 응용 프로그램을 작성해야합니다. 응용 프로그램은 XML을 소비하고 관심 값을 꺼낼 것입니다. 매우 빠르며 (50000 이벤트/초 이상이라고 가정하자) XML 문서 크기는 크고이 문서의 빈도가 높을 수 있습니다 ( Ex. 2500 파일/분 - 500MB 이상의 XML 데이터/파일).

나는 당신이 경험 한 사람들이 내가 이것에 접근해야한다고 생각하는 방법을보고 싶습니다. 나는 방금 시작한 초보자입니다.

매우 감사합니다.

도움이 되었습니까?

해결책

SAX 파싱을 사용하는 경우 병목 현상이 XML 문자열 처리가 아니라 관련 I/O입니다. 그리고 500MB 번호를 주었을 때 가지다 Dom Parsing 대신 색소폰 구문 분석을 수행합니다. 따라서 색소폰 유형의 인터페이스가있는 것은 괜찮 으러야합니다.

다른 팁

나는 팬이다 xerces, 나는 당신이 당신의 응용 프로그램에 가장 적합한 성능이 무엇인지 확인하기 위해 그들을 시험해보아야한다고 생각합니다. Warren이 말했듯이 SAX 처리를 사용하고 싶을 것입니다. 현실적으로 성능이 필요한 경우 전문화 된 XML 어플라이언스를 사용하여 처리를 수행해야합니다.

나는 사용한다 libxml2 우리 프로젝트에서. Sax와 Dom을 모두 지원합니다. Warren Young이 말했듯이 Sax를 사용해야합니다. 당신은 국외 거주자에게 시도 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top