유닉스에는 여러 xml 파일이 있습니다. 플랫 파일로 변환해야합니다. 그리고 우리는 C 언어를 사용하여 XML 파일의 한 수준을 파싱했습니다. C는 C가 사용 된 Teradata fastload와 inmod를 사용하여 대상 상자와 통신 할 수 있었으며 다른 구문으로는 두 번 파싱을해야했습니다. 하나는 플랫 파일로 변환하기위한 것이고 다른 하나는 ito teradata를로드하기위한 것입니다). 즉Unix XML 파일을 플랫 파일로 변환
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
</book>
이
bk101~Gambardella, Matthew~XML Developer's Guide~Computer~44.95~
C.에서 파일을 구문 분석하지만 다음과 같습니다 XML 파일의 원래 형식을 본 후 달성이 우리로 변환되어 아래 파일. (필수 파일로 생각하지 말아주세요.) 그냥 생각하고 있습니다.
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<modified>2010-01-02</modified>
<modified>2010-01-03</modified>
<price>44.95</price>
</book>
이것은 두 개의 레코드로 변환되어야합니다.
bk101~Gambardella, Matthew~XML Developer's Guide~Computer~2010-01-02~44.95~
bk101~Gambardella, Matthew~XML Developer's Guide~Computer~2010-01-03~44.95~
하지만 지금 우리는 우리 C 코드가이 req를 위해 복잡해질 것이라고 생각합니다. 그래서 우리는 유닉스에서 쉽게 사용할 수있는 다른 옵션을 찾고있다. 아무도 유닉스를위한 다른 언어/옵션의 실제 예제 코드를 제공해 줄 수 있습니까?
대단히 감사합니다. 당신은 훌륭한 실례를 제공했습니다. 고마워. 귀하의 예가 XSLT를 배우기 위해 관심을 모았습니다. 내가 예제 코드를 실행하는 데 xalan (C 버전)을 사용하고 완벽하게 작동합니다. Stackoverflow 괴짜가 훌륭합니다. 모든 도움과 제안을 주신 모든 분들께 감사드립니다. 사용 가능한 옵션을 대부분 시험해보고 최종 제품에 대해 알려줍니다. –
다시 한 번 감사드립니다. 여러 루프를 가지고 훨씬 복잡한 XML 파일을위한 간단한 xslt 스크립트를 만들 수 있습니다. 계속 흔들어 라. 당신 덕분에 이제는 600 줄의 C 코드를 복잡하게 만들고 새로운 언어를 배우기 시작한다는 생각에서 벗어날 수있었습니다. 이제 xalan을 사용하기 위해 조직을 추구 한 후 유닉스에서 동일한 스크립트와 실행을 시도해야한다. –
대단히 반갑습니다. 도움이 된 것을 기쁘게 생각합니다. 당신은 색슨을 정말로보아야한다. HE 버전은 여전히 무료이며 XSLT 2.0을 지원합니다. http://saxon.sourceforge.net/ Xalan이 2.0을 지원하지 않습니다 –