Xml 如何在xslt中添加节点?
如何在每个节点中添加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
<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内容的问题。