xslt
의 간단한 예를 만들었습니다. 태그 이름을 h2
에 표시하고 싶습니다. xslt를 사용하여 태그 이름을 표시하는 방법? 그것은 나에게 오류를 제공XSLT에서 태그 이름을 가져 오는 방법은 무엇입니까?
Link 내가이
<!--h1><xsl:value-of select="abc/p/name(.)"/></h1-->
을 사용 :
여기 내 코드입니다. 왜?
예상 출력 :
"P" (ABC 태그 안에 제 태그) 모두
xslt
의 간단한 예를 만들었습니다. 태그 이름을 h2
에 표시하고 싶습니다. xslt를 사용하여 태그 이름을 표시하는 방법? 그것은 나에게 오류를 제공XSLT에서 태그 이름을 가져 오는 방법은 무엇입니까?
Link 내가이
<!--h1><xsl:value-of select="abc/p/name(.)"/></h1-->
을 사용 :
여기 내 코드입니다. 왜?
예상 출력 :
"P" (ABC 태그 안에 제 태그) 모두
귀하의 시도 :
<xsl:value-of select="abc/p/name(.)"/>
이 작동을 프로세서가 XSLT 2.0을 지원 제공. XSLT 1.0에서
, 당신은 할 필요가 : 또한 물론, XSLT 2.0에서 작동
<xsl:value-of select="name(abc/p)"/>
.
감사합니다 ... !! – user944513
전화 기능이 작동하지 않는 이유를 알려주십시오. https://plnkr.co/edit/TN1BN5Yao5Z63RDcBGlN?p=preview – user944513
별도의 질문을 게시하는 것이 좋습니다. 힌트 :'xsl : call-template'은 입력 내용과 일치하는 템플릿에 있어야합니다 .. –
먼저하십시오 <xsl:template match="text()" />
불필요한 출력을 방지하도록 추가.
그러면 재미있는 부모 노드이기 때문에 첫 번째 템플릿을 abc
과 일치하도록 변경합니다. 노드의 자식이 필요하면 abc/*
을 사용하십시오. 그런 다음 템플릿은 abs/p
및 abc/catalog
과 일치합니다. 하지만 첫 아이 만 원해, 그렇지? 따라서 abc/*[1]
을 사용하십시오. 이 경우는 abc/p
과 일치합니다. 이제 name(.)
또는 local-name()
을 사용할 수 있습니다.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="abc/*[1]">
<html>
<body>
<h1><xsl:value-of select="local-name()"/></h1>
</body>
</html>
</xsl:template>
<xsl:template match="text()" />
</xsl:stylesheet>
귀하의 XML 파일
<abc>
<p test='ravi'>test123</p>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
</abc>
이'
왜 원치 않는 오류가 발생합니까? 이 줄이 없으면'
tamplate는 이전에 비교할 수없는 모든 것을 일치시킵니다. 그것은 switch-case에서'default'의 일종입니다. – Marcus
코드를 외부 링크가 아닌 질문 자체에 게시하십시오. –