Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt 删除名为xfdf:field(带有名称空间)的XML标记_Xslt - Fatal编程技术网

Xslt 删除名为xfdf:field(带有名称空间)的XML标记

Xslt 删除名为xfdf:field(带有名称空间)的XML标记,xslt,Xslt,我想从XML文件中删除一个XML元素。我要删除的标记名为xfdf:field。 如何在xslt中指定这一点?我尝试了这个方法,但得到了一个错误:“org.apache.xpath.domapi.XPathStylesheetDOM3Exception:前缀必须解析为名称空间:xfdf” 这是我的xslt <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <

我想从XML文件中删除一个XML元素。我要删除的标记名为xfdf:field。 如何在xslt中指定这一点?我尝试了这个方法,但得到了一个错误:“org.apache.xpath.domapi.XPathStylesheetDOM3Exception:前缀必须解析为名称空间:xfdf”

这是我的xslt

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output omit-xml-declaration="yes" />
    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*" />
        </xsl:copy>
    </xsl:template>
    <xsl:template match="xfdf:field"></xsl:template>
</xsl:stylesheet>

这是我的xml

<xfa:datasets 
 xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/"
 xmlns:dd="http://ns.adobe.com/data-description/" xmlns:tns="http://hostname"
 xmlns:xfdf="http://ns.adobe.com/xfdf/">
    <xfa:data>
        <tns:form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <tns:formHeader>
                <tns:formId>formid</tns:formId>
                <tns:revId>Rev123</tns:revId>
                <tns:agencyId>agency</tns:agencyId>
                <tns:progId>program</tns:progId>
                <tns:serviceId>service</tns:serviceId>
            </tns:formHeader>
            <tns:formFields>
                <tns:date>08-13-1967</tns:date>
                <tns:agreementBetween></tns:agreementBetween>
                <tns:ncr>xxxx</tns:ncr>
                <tns:formConfirmationInfo>
                    <tns:confNbrLbl>nbrlabel</tns:confNbrLbl>
                    <tns:confNbrData>1231</tns:confNbrData>
                    <tns:custNameLbl>3332</tns:custNameLbl>
                    <tns:custNameData>dasdas</tns:custNameData>
                    <tns:dateLbl>date</tns:dateLbl>
                    <tns:dateData>01012001</tns:dateData>
                </tns:formConfirmationInfo>
            </tns:formFields>
            <xfdf:field xmlns:xfdfi="http://ns.adobe.com/xfdf-transition/"
                        xfdfi:original="FSAPPLICATIONDATA_">
                <!--irrelevant data omitted-->
            </xfdf:field>
        </tns:form>
    </xfa:data>
</xfa:datasets>

formid
Rev123
机构
程序
服务
08-13-1967
xxxx
丁腈橡胶标签
1231
3332
达斯达斯
日期
01012001

您需要在XSLT文件中指定名称空间:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
        xmlns:xfdf="http://ns.adobe.com/xfdf/">

我找到的第一个几乎重复的常见问题解答