문제

우리는 모든 입력(EDIfact 파일, CSV, XML 등)을 읽을 수 있는 변환 라이브러리 또는 엔진을 찾고 있습니다.따라서 알려진 비즈니스 개체 구조로 변환해야 하는 데이터가 포함된 파일(또는 웹 서비스 결과)입니다.) 이 데이터는 사용자 정의 규칙을 사용하여 이를 기존 비즈니스 개체로 변환해야 합니다.XSLT는 복잡하기도 하고(학습하기 위해) 단순하기도 합니다(기능이 충분하지 않음)

C# 라이브러리나 엔진을 추천해 줄 수 있는 사람이 있나요?나는 Altova MapForce를 보았지만 수십 개의 Altova 라이센스를 지불하지 않고도 자신의 변환을 구축/설계할 수십 명의 사람들에게 보낼 수 있는 것을 원합니다.

도움이 되었습니까?

해결책

XSLT가 너무 어렵다고 생각된다면 XML 파일을 구문 분석하기 위해 LINQ to XML을 사용해 볼 수 있습니다.이는 .NET 프레임워크에 통합되어 있으며 다른 언어를 배우는 대신 C#(또는 VB.NET 9.0을 사용하는 경우 XML 리터럴 덕분에 더 좋음)을 사용할 수 있습니다.많은 노력을 들이지 않고 XSLT에서 발생하는 언어와 파일 관리 간의 패러다임 불일치 없이 이를 기존 애플리케이션과 통합할 수 있습니다.

Microsoft LINQ에서 XML로

물론, 파일 구문 분석을 위한 프레임워크나 라이브러리는 아니지만 XSLT도 마찬가지입니다.

다른 팁

XSLT는 EDI 및 CSV에서 작동하지 않습니다.완전히 일반적인 변환 엔진을 원한다면 약간의 현금을 지불해야 할 수도 있습니다.나는 사용했다 심포니아 EDI를 다루기 위해 작동했지만 무료는 아닙니다.

문제는 당신이 설명하는 문제가 "엔터프라이즈"(아무도 EDI를 재미로 사용하지 않을 것이라고 확신합니다)이므로 이 문제를 처리하기 위한 오픈 소스/무료 도구가 없다는 것입니다.

XSLT가 너무 복잡하거나 필요한 기능이 포함되어 있지 않다고 해서 쉽게 무시할 수는 없습니다.

XSLT에 대해 알아야 할 모든 것을 설명하는 책/웹 사이트가 많이 있습니다.예, 약간의 학습 곡선이 있지만 시작하는 데 많은 시간이 걸리지 않으며 도움이 필요한 경우 항상 stackoverflow와 같은 훌륭한 커뮤니티가 있습니다 ;-)

기능이 부족한 경우 xsltargumentlist.addextensionObject () 메소드를 사용하여 항상 XSLT를 확장하고 XSLT에서 .NET 어셈블리를 호출 할 수 있습니다.

MSDN에는 이것을 사용하는 좋은 예가 있습니다. 여기

MapForce 및 Biztalk 응용 프로그램을 사용하면 xslt를 매우 쉽게 만들 수 있지만 약간의 비용이 드는 것은 사실입니다.또한 사용자 기반(개발자가 아니라고 가정)에 따라 이러한 응용 프로그램에는 자체 학습 곡선이 있고 필요한 기능에 비해 기능이 너무 풍부하다는 것을 알게 될 것입니다.

사용자 요구 사항에 맞는 사용자 정의 매핑 도구를 구축하고 배포하는 것을 고려해 보시기 바랍니다.

또한 파일 변환을 지원하기 위해 라이브러리가 필요한 경우 권장합니다. FileHelpers 소스포지에서

DataDirect Technologies에는 바로 이 작업을 수행하는 제품이 있습니다.~에 http://www.xmlconverters.com/ EDI를 XML로 또는 그 반대로 변환하는 XmlConverters라는 라이브러리가 있습니다.CSV, JSON 및 기타 형식에 대한 변환기도 있습니다.라이브러리는 100% .net 관리 코드와 100% Java의 병렬 포트로 제공됩니다..net 측은 XmlReader 및 XmlWriter를 지원하고 Java 측은 SAX, StAX 및 DOM을 지원합니다.둘 다 스트림 및 리더/라이터 I/O도 지원합니다.DataDirect에는 관계형 데이터를 EDI 및 XML과 병합하는 데 최적화된 XQuery 엔진도 있지만 이는 Java 전용입니다.

마이크로소프트 BizTalk 서버 이 일을 아주 잘 해냅니다.

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