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
Xml 如何在xslt中添加节点?_Xml_Xslt_Xslt 1.0 - Fatal编程技术网

Xml 如何在xslt中添加节点?

Xml 如何在xslt中添加节点?,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,如何在每个节点中添加xslt中的新节点 输入 <test> <video graph="1" potime="1811"> <sec> <secid>3812907</secid> <pick> <vdsecname>A</vdsecname> <mediada

如何在每个节点中添加xslt中的新节点 输入

<test>
    <video graph="1" potime="1811">
        <sec>
            <secid>3812907</secid>
            <pick>
                <vdsecname>A</vdsecname>
                <mediadate>24 Apr 2017, 7:45PM IST</mediadate>
                <v>240420171945</v>

            </pick>
            <pick>
                <vdsecname>D</vdsecname>
                <mediadate>20 Apr 2017, 4:30PM IST</mediadate>
                <v>200420171630</v>
            </pick>
            <pick>
                <vdsecname>E</vdsecname>
                <mediadate>20 Apr 2017, 3:30PM IST</mediadate>
                 <v>200420171530</v>
            </pick>

        </sec>
    </video>
    <video graph="1" potime="94">
        <sec>
            <secid>20970242</secid>
            <pick>
                <vdsecname>B</vdsecname>
                <mediadate>23 Apr 2017, 7:30PM IST</mediadate>
                 <v>230420171930</v>
            </pick>
            <pick>
                <vdsecname>C</vdsecname>
                <mediadate>22 Apr 2017, 5:33PM IST</mediadate>
                 <v>220420171733</v>
            </pick>
        </sec>
    </video>
</test>
<videos>
        <pick>

            <vdsecname>A</vdsecname>

            <mediadate>24 Apr 2017, 7:45PM IST</mediadate>

            <v>240420171945</v>

            <domain>ddd</domain>
        </pick>
        <pick>

            <vdsecname>D</vdsecname>

            <mediadate>20 Apr 2017, 4:30PM IST</mediadate>

            <v>200420171630</v>
            <domain>ddd</domain>
        </pick>
        <pick>

            <vdsecname>E</vdsecname>

            <mediadate>20 Apr 2017, 3:30PM IST</mediadate>

            <v>200420171530</v>
            <domain>ddd</domain>
        </pick>

        <pick>

            <vdsecname>B</vdsecname>

            <mediadate>23 Apr 2017, 7:30PM IST</mediadate>

            <v>230420171930</v>
            <domain>ddd</domain>
        </pick>
        <pick>

            <vdsecname>C</vdsecname>

            <mediadate>22 Apr 2017, 5:33PM IST</mediadate>

            <v>220420171733</v>
            <domain>ddd</domain>
        </pick>

    </videos>

3812907
A.
2017年4月24日,美国标准时间下午7:45
240420171945
D
2017年4月20日,美国标准时间下午4:30
200420171630
E
2017年4月20日,美国标准时间下午3:30
200420171530
20970242
B
2017年4月23日,美国标准时间下午7:30
230420171930
C
2017年4月22日,美国标准时间下午5:33
220420171733
输出

<test>
    <video graph="1" potime="1811">
        <sec>
            <secid>3812907</secid>
            <pick>
                <vdsecname>A</vdsecname>
                <mediadate>24 Apr 2017, 7:45PM IST</mediadate>
                <v>240420171945</v>

            </pick>
            <pick>
                <vdsecname>D</vdsecname>
                <mediadate>20 Apr 2017, 4:30PM IST</mediadate>
                <v>200420171630</v>
            </pick>
            <pick>
                <vdsecname>E</vdsecname>
                <mediadate>20 Apr 2017, 3:30PM IST</mediadate>
                 <v>200420171530</v>
            </pick>

        </sec>
    </video>
    <video graph="1" potime="94">
        <sec>
            <secid>20970242</secid>
            <pick>
                <vdsecname>B</vdsecname>
                <mediadate>23 Apr 2017, 7:30PM IST</mediadate>
                 <v>230420171930</v>
            </pick>
            <pick>
                <vdsecname>C</vdsecname>
                <mediadate>22 Apr 2017, 5:33PM IST</mediadate>
                 <v>220420171733</v>
            </pick>
        </sec>
    </video>
</test>
<videos>
        <pick>

            <vdsecname>A</vdsecname>

            <mediadate>24 Apr 2017, 7:45PM IST</mediadate>

            <v>240420171945</v>

            <domain>ddd</domain>
        </pick>
        <pick>

            <vdsecname>D</vdsecname>

            <mediadate>20 Apr 2017, 4:30PM IST</mediadate>

            <v>200420171630</v>
            <domain>ddd</domain>
        </pick>
        <pick>

            <vdsecname>E</vdsecname>

            <mediadate>20 Apr 2017, 3:30PM IST</mediadate>

            <v>200420171530</v>
            <domain>ddd</domain>
        </pick>

        <pick>

            <vdsecname>B</vdsecname>

            <mediadate>23 Apr 2017, 7:30PM IST</mediadate>

            <v>230420171930</v>
            <domain>ddd</domain>
        </pick>
        <pick>

            <vdsecname>C</vdsecname>

            <mediadate>22 Apr 2017, 5:33PM IST</mediadate>

            <v>220420171733</v>
            <domain>ddd</domain>
        </pick>

    </videos>

A.
2017年4月24日,美国标准时间下午7:45
240420171945
ddd
D
2017年4月20日,美国标准时间下午4:30
200420171630
ddd
E
2017年4月20日,美国标准时间下午3:30
200420171530
ddd
B
2017年4月23日,美国标准时间下午7:30
230420171930
ddd
C
2017年4月22日,美国标准时间下午5:33
220420171733
ddd
我确实喜欢这个

  <xsl:variable
name="variableA">
<videos>

<xsl:for-each select="test/video">
    <xsl:copy-of select="sec/pick"/>
    <domain>ddd</domain>
    </xsl:for-each>
    </videos>
</xsl:variable>
<xsl:copy-of select="$variableA"/>

ddd

以下各项应能起作用。第一个模板匹配根元素,添加一个
元素,并将模板应用于所有
pick
元素。第二个模板匹配
pick
元素,复制它及其内容,并添加
domain
元素

<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output omit-xml-declaration="yes" encoding="UTF-8" indent="yes" />

    <xsl:template match="/*">
        <videos>
            <xsl:apply-templates select="video/sec/pick" />
        </videos>
    </xsl:template>

    <xsl:template match="pick">
        <xsl:copy>
            <xsl:copy-of select="@* | node()" />
            <domain>ddd</domain>
        </xsl:copy>
    </xsl:template>

</xsl:transform>

ddd

查看这不是正确的解决方案..:(查看我的预期输出首先检查此项。我将我的所有
拾取
标记合并到
视频中的变量中tag@user944513好的,我现在看到您的输出不仅仅是添加了额外元素的输入的副本(您没有提到这一点)。您的xsltransform.net示例还包含大量HTML内容(虽然它被拼错为
hmtl
。你也想要吗?你的问题并没有说明这一点。等一下,我会再次解释。首先看我的输出。在这里,请看
vdsecname
标记它从
ADEBC
开始。所有拾取标记都在
视频中
tag@user944513好的,我现在明白了。但是你还没有认识answe红色是我关于HTML内容的问题。