2016-10-26 2 views
0

MSXML6을 사용하여 XML을 표준화하는 좋은 방법이 있습니까?MSXML 및 cannonical XML

IXMLDOMDocument 개체에로드하는 XML 문서가 있습니다. 문서에서 노래 나 해싱과 같은 작업을 수행해야합니다. XML 표준 양식 인 C14N 또는 이와 유사한 표준에 설명하고자합니다. IXMLDOMDocument는 파일에 저장하는 방법을 가지고 있지만, 먼저 파일을 표준화하지도 않으며 파일을 쓰는 방법을 제어하기위한 손잡이를 제공하지도 않습니다. 들여 쓰기, 인코딩 형식 등과 같은 것들을 제어 할 수있게 해주는 MXXMLWriter60이 있습니다.하지만 C14N 표준을 완벽하게 수행하는 데 필요한 모든 것이있는 것은 아닙니다. 닷넷 프레임 워크는 XmlDsigC14NTransform을 갖고 있지만 스택에있는 곳에서 사용할 수없는 것은 아닙니다. MSXML에 XMLDSIG에 대한 지원이있어 코드가 내용을 표준화해야하는 것처럼 보이지만 그 중 아무 것도 공개하지는 않습니다.

제안 사항?

+0

XMLDSIG가 MS Office 용 MSXML 5.0에는 구현되었지만 MSXML 3.0, 4.0 또는 6.0에는 구현되지 않았다고 말할 수 있습니다. 제 세계에 오신 것을 환영합니다. Microsoft는 플랫폼 수준이 아닌 .Net 또는 Office를 사용하여 많은 수의 개발자를 자체 장치에 구현합니다. 그룹이 자신의 사적인 작은 세계에서 회사 자원을 태울 수있게되면 어떻게 될지 생각합니다. 주주는 선명해야하며 사용자는 확실합니다. – Bob77

+0

무슨 뜻인지 모르겠다. 네이티브 코드를 작성하는 경우 Windows, 심지어 Mobile, IoT 코어, 데스크톱 등 모든 SKU의 플랫폼 수준에서 MSXML3/6 라이브러리에 대해 코드를 작성할 수 있습니다. 그것은 결국 COM입니다. DLL은 system32 FWIW에 있습니다. –

+0

어쨌든 canonicalize하는 MSXML에 좋은 API가있는 것 같지 않습니다. 분명히 XMLDISG의 일부로 표준화 될 수 있지만 XMLDISG는 노출되지 않습니다. 기본 disig 개체에 대한 소스 코드 액세스 권한이있는 경우 가끔 개인용 정규화 메서드를 노출하는 새 인터페이스를 노출하는 것이 어렵지 않습니다. –

답변

0

짧은 대답은 아니오입니다. MSXML 6.0에는 사용할 수있는 표준화 도구가 없습니다. canoncalizers가 포함 된 MSXML의 이전 버전이 존재하는 경우 최신 Windows에는 포함되어 있지 않습니다.

은 c14n 표준 및 기타 많은 표준에 따라 XML을 표준화 할 수있는받은 편지함 구성 요소를 제공합니다. 그러나 공개 API에서는 노출되지 않습니다.

희망이 도움이됩니다.