2011-10-20 4 views
2

일련의 관계형 테이블 ('하나'및 관련 '다수'테이블)에 핵심 요소와 속성을 저장하고 처리해야하는 일련의 XML 문서가 있습니다.XML -> XSLT -> DB

관련 노드를 식별하는 데 필요한 올바른 Xpath 논리를 결정했습니다.

하나의 접근법은 변환이 완료되면 레코드를 적절히 삽입하여 DOM 노드 집합을 처리하는 것입니다. 이것이 효과가있는 동안, 그것은 꽤 우아하지 않은 것 같습니다.

또 다른 옵션은 CSV 파일을 생성 한 다음 대량 삽입하는 것입니다.

어느 경우 든 XPath를 하드 코딩하지 않고 설정 파일의 테이블/열 조합에 매핑하는 유연한 방법을 사용하는 것이 좋습니다.

내가 고려하지 않은이 상황을 처리 할 수있는 특별한 방법이 있습니까?

+0

죄송 합니다만 XML을 구문 분석하고 db에 레코드를 삽입하려면이 질문에 XSLT를 어떻게 적용 할 수 있는지 이해할 수 없습니다. –

+0

기본적으로 자세한 XML 문서를 1) CSV와 같은 다른 형식으로 변환하거나 2)보다 쉽게 ​​db 테이블에 매핑 할 수 있습니다. – craig

+0

내 의견으로는 피할 수있는 추가 단계가있을 것이라는 점을 명심하십시오. –

답변

0

나는 같은 문제가 있었기 때문에 내가 어떻게 대처했는지 말해 줄 것이다. 내 XML 파일을 기반으로 DOM을 만들었습니다. 내 sql 문에 오류가 없다는 것을 확인하기 위해 "즉시"데이터를 삽입하지 않았지만 INSERT 문 인 파일을 만들었습니다. 삽입을 최적화하기 위해 나는 INSERT 문을 매 50마다 VALUES(...) 작성합니다. 내가 괜찮은지 확인한 후 데이터베이스에 행을 삽입했습니다.

이 작은 연습을 통해 도움을받을 수 있기를 바랍니다.

0

많은 방법이 있습니다. 귀하의 데이터베이스가 SQL 서버 데이터베이스입니까? 그렇다면 Open XML을 살펴보고 xml을 직접 쿼리하고 데이터를 테이블에 삽입 할 수 있습니다. 본질적으로 귀하의 닷넷 애플 리케이션은 영리하지 않을 것입니다, 그것은 XML 콘텐츠를 읽고 SQL 문에 매개 변수로 전달하는 것입니다.