2011-11-17 2 views
3

구조가 알려진 XML 파일이 있지만 그 파일에서 아무 것도 변경할 수 없습니다. 작업은이 XML의 데이터를 브라우저 (C# WebBrowser 컨트롤)에서 일부 스타일 시트를 사용하여 html로 표시하는 것입니다.C# : XML 변형

문제는 내가 다음이 XML-스타일 시트를 추가 한 다음 브라우저에서 보여

<?xml-stylesheet type="text/xsl" href="my-style.xsl"?> 

내가 어딘가에 XML을 복사 생각하고 같이 아무것도 삽입하지 않고 기존의 XML을에 변환을 적용 할 수 방법이다. 하지만 스타일 시트를 어떻게 든 동적으로 적용 할 수 있을까요?

XML을 메모리에 보관하고, 스타일 시트를 적용하고, 메모리 내장 XML을 WebBrowser 컨트롤에로드 할 수 있습니까?

난 그냥

답변

7

물론, 당신이 할 수있는 ...이 작업을 수행하는 가장 좋은 방법이 무엇인지 궁금하네요! XslCompiledTransform 클래스를보십시오. 따라서 XML을 메모리에서 변형 한 다음 변형 된 문서를로드 할 수 있습니다.

+0

변환 된 XML을 브라우저로 출력하는 방법을 보여 주시겠습니까? 스트림 또는 XmlWriter 사용 하시겠습니까? – Ksice

+0

흠 .. 내 웹 브라우저가 데이터를 표시하지 않는 것처럼 보입니다 ... 정말 이상합니다! MessageBox.Show()를 사용하면 페이지를 볼 수 있지만 메시지를 닫은 후에 다시 보이지 않습니다. ( – Ksice

0

the XPath Visualizer이 사용하는 XSLT 변환을 참조하여 HTML 형식의 XML 문서을 생성하십시오.

IE의 defaultss.xsl 스타일 시트를 살펴볼 수도 있지만 XSLT의 표준이 아닌 방언을 사용한다는 점에 유의하십시오. 엄격히 말하면 XSLT가 아닙니다.