2009-07-13 5 views
0

이 다소 흥미로운 요구 사항이 있습니다.XSLT 및 XML 질문

일반적으로 XSLT를 사용하여 XML 문서를 변환합니다. 변환 된 HTML은 웹 브라우저에서 볼 수 있지만 위대한 기능입니다. XSLT가있는 XML 문서의 페이지 소스를 볼 경우 html, xml 만 표시되지 않으므로 브라우저에서 메모리의 변환을 처리한다고 추측합니다.

내가하고 싶은 것은 다음과 같다.

C#을 사용

  1. 잡아 파일 시스템에서 XML 파일 ....
  2. 는 XSLT 스타일 시트를
  3. 출력에 HTML 파일을 다시 렌더링 된 HTML을 첨부 할 몇 가지 프레임 워크 객체에 로드를 파일 시스템.

가능합니다.

전체 솔루션에 대한 완전한 대답은 기대하지 않습니다. 올바른 방향으로 밀어 넣으면 좋을 것입니다. 미리 감사드립니다.

답변

5

System.Xml.Xsl을 사용하면 C#에서 XSLT를 수행 할 수 있습니다. .

XPathDocument myXPathDoc = new XPathDocument(<xml file path>); 
XslTransform myXslTrans = new XslTransform(); 
myXslTrans.Load(<xsl file path>); 
XmlTextWriter myWriter = new XmlTextWriter("result.html", null); 
myXslTrans.Transform(myXPathDoc, null, myWriter); 

(편집 : @ 존을 참고 :이 코드는 기본 개념을 설명 그것은 척하지 않는다 - 여기의 핵심이다 XML transformation using Xslt in C# 방법에 대해 설명 : 여기에 기사가있다

생산 품질합니다.)

+0

귀하의 답변을 정확하다고 표시 했으므로 더 나은 기사를 게시했습니다. –

+0

텍스트 작성자 용 블록을 추가하고 XmlWriter.Create를 사용하십시오. –

+0

@ 리치 : 예제 코드가 복사되고 붙여 넣어지며 사람들은 우는 소리를 지르며 "Richie Hindle은 괜찮 았음"이라고 말합니다. 따라서, -1. –

0

는 HTML을위한 invaild 어떤 경우에 ... 여기에서 설명 매트 xml?

xslt를 사용할 수없는 것 같습니다.

의견이 있으십니까?

+0

google "beautifulsoup", "htmltidy"및 "html 민첩성 팩" – annakata

+0

감사합니다, 안나 카타 – ariso