xsl 파일에 대한 입력으로 XML 파일이 있습니다. 내가 xsl의 outputmethod를 xml로 지정하고 xsl : element를 사용하여 요소를 정의하거나 다른 스레드에서 말한 것처럼 xml의 요소와 일치시킬 때 나는 어떤 태그도 얻지 못한다. 나는 xml의 텍스트 만 얻는다. 나는 가지고있다. 다양한 예를 시도했다. 내가 뭘 시도했는지는 XML의 텍스트 부분 만 얻고있다. xsl을 사용하여 하나의 xml을 다른 xml로 변환하는 완전한 작업 코드가 들어있는 간단한 예제를 제공 할 수 있습니까?xslt를 사용하여 XML을 재구성하면 텍스트 만 표시됩니다.
샘플을 게시하지 않으셔서 죄송합니다.
1) 동일한 폴더에 XSL 및 XML 파일을 갖고 아래와 같은 XML인가된다 browser.The의 XSL 파일을 사용하여 XML을 개폐 :
나는 두 가지 XML의 재구성을 시도했다.test.xml의 :
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="sample.xsl"?>
<root>
<info>
<firstname>Bob</firstname>
<lastname>Joe</lastname>
</info>
<notes>
<note>text1</note>
<note>text2</note>
</notes>
<othernotes>
<note>text3</note>
<note>text4</note>
</othernotes>
</root>
sample.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="root">
<root>
<xsl:copy-of select="info"/>
<notes>
<xsl:copy-of select="othernotes"/>
</notes>
</root>
</xsl:template>
</xsl:stylesheet>
출력 : 밥 조 모두 파일
이 같은 폴더에있는 텍스트 3 텍스트 4 그리고 내가 xml 파일을 열었습니다. 출력을 보려면 브라우저를 부릅니다.
2) 내 프로젝트에서 xslt와 함께 struts 프레임 워크를 사용하고 있습니다. 보기로 설정된 XML은 다음과 같습니다. XML :
<root>
<data>
<array-list>
<array-list xsi:type="java:java.util.ArrayList">
<slot-info-object avail-crit-thresh="-1.0" avail-fif-min="-1.0" avail-five-min="-1.0" avail-one-day="0.0" avail-one-hr="-1.0" avail-warn-thresh="-1.0" freeslot="0" keyn-service-subtype-id="9" perf-crit-thresh="-1.0" perf-fif-min="-1.0" perf-five-min="-1.0" perf-one-day="0.0" perf-one-hr="-1.0" perf-warn-thresh="-1.0" severity-type="0" shared-script-id="-1" slot-id="671457" trans-id="733299" user-id="0" xsi:type="java:com.keynote.mykeynote.service.dashboard.SlotInfoObject">
<slot-alias>Single slot</slot-alias>
</slot-info-object>
<slot-info-object avail-crit-thresh="-1.0" avail-fif-min="1.0" avail-five-min="1.0" avail-one-day="1.0" avail-one-hr="1.0" avail-warn-thresh="-1.0" freeslot="0" keyn-service-subtype-id="9" perf-crit-thresh="-1.0" perf-fif-min="0.5105" perf-five-min="0.529" perf-one-day="0.6195208333333333" perf-one-hr="0.5505" perf-warn-thresh="-1.0" severity-type="0" shared-script-id="595" slot-id="685397" trans-id="-7105" user-id="0">
<slot-alias>SharedSlot</slot-alias>
</slot-info-object>
</array-list>
</array-list>
</data>
</root>
뷰는 다음 코드가 들어있는 XSL 파일입니다 XSL 파일 :
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/root/data/array-list/array-list">
<root>
<slot-info-object>
<xsl:for-each select="slot-info-object">
<xsl:copy-of select="slot-alias"/>
</xsl:for-each>
</slot-info-object>
</root>
</xsl:template>
</xsl:stylesheet>
출력 : 단일 slotSharedSlot
하나 더 질문 : request.setAttribut e (StrutsCXConstants.XML_KEY, data); 여기서 data는 ArrayList와 같은 Java 컬렉션입니다. 이 줄은 struts Action 파일에 기록됩니다. 이것은 뷰의 XML로만 변환됩니다. 은 우리가 XSL
<xsl:output method="xml" indent="yes"/>
에서 이런 말을하는 경우는 Struts 액션 클래스의 응답 유형이 "텍스트/XML"
감사를 설정해야한다.
a) .xml 입력을 제공하고, b) 현재 .xslt 또는 샘플을 제공 한 경우 도움이 될 수 있습니다. – FailedDev
XML (또는 추출물), 스타일 시트 및 결과 출력 (또는 추출)을 입력하여 보여줄 수 있습니까? 무엇이 잘못되었는지보기 위해 적어도 스타일 시트가 필요합니다. –
내가하는 일은 비가 내릴 뿐이다. 화창한 날씨를 완벽하게 구현 한 간단한 예를 들어 주시겠습니까? –