1
신원 템플릿을 사용하여 특정 노드를 제외하고 XML-> XML을 변환하려고합니다.신원 XSLT 특정 필드 제외
그 노드는 문서의 다른 수준에있을 것이다 - 아래의 XML 예제 : 예를 들어
<root>
. <item1>
. <contents>
. <fieldA/>
. ...
. <fieldZ/>
. </contents>
. </item1>
. <item2>
. <field1/>
. ...
. <field9/>
. </item2>
</root>
, 나는 "루트/항목 1/내용"에서 "fieldC" 와 "FIELD2을 포함하는 단지 싶습니다 "from"root/item2 ".
내 XSLT가 아래에 있습니다. 그것은 작동하지 않는다, 내가 포함하고 싶은 분야의 부모 요소를 포함하지 않기 때문에 나는 생각한다? 하지만 어떻게 할 수 있는지 잘 모르겠습니다 ...
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml" indent="yes" />
. <xsl:strip-space elements="*"/>
. <xsl:template match="@* | node()">
. <xsl:copy>
. <xsl:apply-templates select="@* | node()" />
. </xsl:copy>
. </xsl:template>
.
. <xsl:template match="fieldC|field2">
. <xsl:element name="{name()}">
. <xsl:value-of select="text()" />
. </xsl:element>
. </xsl:template>
</xsl:stylesheet>
누구든지 도움을받을 수 있다면 감사하겠습니다.
감사합니다.
죄송합니다. 제목은 아마 오해의 원인이되었을 것입니다. 나는 다른 모든 노드를 같은 레벨에서 제외하려고했지만 "fieldC"또는 "field2"는 제외하고자했습니다. 이 솔루션은이 두 필드를 제외하고 내가 원하는 것과 반대되는 나머지 부분을 남기는 것으로 보입니다. – Zyga
@Zyga - 그러면 문제의 완전한 정의가 아닙니다. 질문을 수정하고 정확한 결과를 제공해야합니다. 여러분이 그것에있는 동안 줄임표를 제거하고 완전히 구체적인 소스 XML 문서를 제공해주십시오. –
@Zyga, 내 업데이트보기 - 나는 당신이 말한 것을 추측 할 수 * 있습니다. –