뉴스 기사가 들어있는 XML 문서가 있고 뉴스 기사의 본문 요소에는 일반 텍스트 사이에 p 태그가 들어 있습니다. XSL을 사용하여 본문을 검색하면 (예 :마크 업 태그는 어떻게 보존합니까?
<xsl:value-of select="body" />
p 태그가 제거되는 것처럼 보입니다. 저는 Visual Studio 2005의 XSL 구현을 사용하고 있습니다.
아무도 아이디어를 피하는 방법이 있습니까? 감사.
뉴스 기사가 들어있는 XML 문서가 있고 뉴스 기사의 본문 요소에는 일반 텍스트 사이에 p 태그가 들어 있습니다. XSL을 사용하여 본문을 검색하면 (예 :마크 업 태그는 어떻게 보존합니까?
<xsl:value-of select="body" />
p 태그가 제거되는 것처럼 보입니다. 저는 Visual Studio 2005의 XSL 구현을 사용하고 있습니다.
아무도 아이디어를 피하는 방법이 있습니까? 감사.
시도 대신
<xsl:copy-of select="body"/>
를 사용합니다. w3schools' documentation on same에서 :
는
<xsl:copy-of>
요소는 현재 노드의 복사본을 생성한다.참고 : 네임 스페이스 노드, 하위 노드, 및 현재 노드의 특성은 자동으로 입니다.
엔진이 <p> 태그 (출력용은 제외)를 해석하고 있기 때문입니다. "disable-output-escaping = yes | no"속성을 사용하여 "그대로"컨텐츠를 지정해야합니다.
<xsl:value-of select="body" disable-output-escaping="yes"/>
나는 이것을 시도했지만 어떤 차이도 만들지 않았다. – gilles27
false로 시도하십시오 ... 나는 항상 올바른 사용을 기억하지 못합니다 –
다른 오류 ... 예 또는 아니오 –
당신이 입력 문서를 제어 할 수 있습니다 복사의 작업을해야하지 않는 경우 :
는 "XSL
http://www.xml.com/pub/a/2000/06/07/transforming/index.html에서 : 복사의 요소, 다른 한편으로는, 복사 할 수 있습니다 템플릿이 선택하는 각 노드의 전체 하위 트리 xsl : copy-of 요소의 select 속성에 적절한 값이있는 경우 특성을 포함합니다. 다음 예제에서 템플릿은 title 요소 노드와 모든 자손 노드를 복사합니다. 즉, 태그, 하위 요소 및 속성을 포함한 전체 제목 요소 : "
<xsl:template match="title">
<xsl:copy-of select="*"/>
</xsl:template>
고마워요, 이것이 효과가 있습니다. 블레어 콘래드의 제안을 처음 보았습니다.하지만 두 분 모두 똑같은 말을했습니다. – gilles27
XML 요소의 값은 XSLT뿐 아니라 DOM 구현에서도 마찬가지이며 모든 하위 노드 텍스트 노드의 연결입니다. XSLT에서 value-of
은 요소의 값을 내보내는 반면 copy-of
은 요소의 복사본을 내 보냅니다.
고마워 블레어 총리는이 치료법을 사용해 왔습니다. – gilles27
생명의 은인. 고맙습니다. – SearchForKnowledge