제품 및 항목이있는 xml 파일이 있습니다. 제품에 품목이 있거나 없을 수 있습니다. 나는 물건이없는 제품 만 얻고 싶다. 해당 제품 아래에 항목이없는 xml 파일의 제품 만 가져 오기
이
내가 XML 파일에서이 같은 내 출력을 원하는 내 입력<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<prod-id>P16753</prod-id>
<product-status>CREATED</product-status>
<validation-status>Valid</validation-status>
<duplication-status>Unique</duplication-status>
<content-status>New</content-status>
<items/>
<created-on>2016-08-12T11:30:00</created-on>
<created-by>Administrator</created-by>
<last-changed-on>2016-08-04T17:34:00</last-changed-on>
<last-changed-by>ap0712</last-changed-by>
<delete>false</delete>
</product>
<product>
<prod-id>P16754</prod-id>
<product-status>CREATED</product-status>
<validation-status>Valid</validation-status>
<duplication-status>Unique</duplication-status>
<content-status>New</content-status>
<items>
<item>
<item-id>i16754</item-id>
<item-status>CREATED</item-status>
<validation-status>Valid</validation-status>
<duplication-status>Unique</duplication-status>
<content-status>New</content-status>
</item>
</items>
<created-on>2016-08-12T11:30:00</created-on>
<created-by>Administrator</created-by>
<last-changed-on>2016-08-04T17:34:00</last-changed-on>
<last-changed-by>ap0712</last-changed-by>
<delete>false</delete>
</product>
</products>
입니다. 가능하다면, 나는 csv 파일로 변환 할 수 있도록 태그를 제거하려면 나중에
prod-id P16754
내가 XSLT 코드가 (나는이 포럼에서 가지고있는)하지만 난이 일을 할 수없는 생각
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<ns:WhiteList>
<name>prod-id</name>
</ns:WhiteList>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match=
"*[not(descendant-or-self::*[name()=prod-id[not(items/item)]document('')/*/ns:WhiteList/*])]"/>
</xsl:transform>
XML이 아닌 일반 텍스트가 필요한 경우 ID 템플릿을 사용하는 것이 의미가 없습니다. "아이템이없는 제품 만 가져오고 싶습니다."라고 말하면, 'items/item' 자손이없는 완전한'product' 엘리먼트를 선택하겠습니까? 원하는 출력 스 니펫에는'prod-id P16754' 요소 하나만 포함되며 완전한'product' 요소는 아닙니다. 따라서 어떤 데이터를 출력 할 것인지 자세하게 설명하십시오. –