2014-10-30 3 views
2

VB.Net의 XML 리터럴을 HTML 생성을위한 템플릿 시스템으로 사용하여 실험하고 있습니다. 도주를 제어 할 수있는 방법이 있는지 궁금합니다. 예를 들어 내가 인코딩 앰퍼샌드의 XML (&)와 링크를 생성합니다 다음VB.Net의 Xml 리터럴이 이스케이프를 방지합니다.

Dim param1Value as String = "test" 
Dim html = <div> 
       <a id="myLink" href="<%= "/mysite/myfile?param1=" + param1Value + "&param2=test2" %>" 
      </div> 

이 비슷한 코드가있는 경우. 현재 xmlElement를 문자열로 변환 할 때 이러한 항목을 이스케이프 처리하지 않고 있습니다. 나는 그것이 유일한 다른 옵션으로 XML을 생성한다고 가정하고 있지만, XML 리터럴이 원시 값이고 Xml 이스케이프가 필요하지 않음을 명시하는 방법이 있는지 궁금합니다.

답변

1

몇 년 전 나는 정확한 문제를 해결해야만 ASP.NET MVC View Engine using VB.NET XML Literals을 만들었습니다. vb.net의 XML 리터럴 부분에 & 문자를 무시하도록 지시 할 방법이 없습니다. 내 특정 시나리오는 XML 리터럴 내에 HTML 엔터티 (예 : &copy;)를 포함하려고 시도했습니다.

결국 내가 XML 리터럴 내에서 & 문자를 필요로하는 모든 곳에서 <amp />을 사용한 다음 HTML 렌더링시 .Replace("<amp />", "&")을 수행했습니다. VbView.vb에서 Render 방법을 참조하십시오.

+0

이것은 내가 생각해 낸 해결책과 비슷합니다. 나는 이것을 할 다른 방법이 있을지도 모른다고 생각했지만 불행히도 거기에는없는 것으로 보입니다. – Ronnie

+0

새로운 오픈 소스 컴파일러를 사용하면 실제 솔루션을 만드는 방법이있을 수 있지만, 그런 식으로 일할 시간이 있을지는 의문입니다. – CoderDennis

관련 문제