0
我有一個下面的XML應該轉換爲「預期的輸出」(如下所述,但我不知道爲什麼節點屬性(ABC)不進來XML標記,但外界如何轉換XML使用XSLT和複製節點以及屬性
<?xml version="1.0" encoding="UTF-8"?>
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Node ID="ABC">
<Name>Name-ABC</Name>
<Description>Desc-ABC</Description>
</Node>
</Root>
XSL:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="Node">
<xsl:copy>
<xsl:apply-templates select="node() | @*" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
電流輸出
<?xml version="1.0" encoding="UTF-8"?>
<Node xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ABC
Name-ABC
Desc-ABC
</Node>
期望輸出(屬性應該是內部的),我也並不需要複製這是不符合我所創建的模板的任何節點:
<?xml version="1.0" encoding="UTF-8"?>
<Node xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="ABC"></Node>
好試了你的建議。它看起來像這樣<?xml version =「1.0」encoding =「UTF-8」?> xsl:stylesheet。輸出是<?xml version =「1.0」encoding =「UTF-8」?> 不包括屬性 –
Geebee
我建議添加一個帶有匹配模板'Node/@ *'的模板。您尚未添加模板,但更改了現有模板的匹配模式和內容。 –
好吧,試過這樣做,輸出如預期<?xml version =「1.0」encoding =「UTF-8」?> 的 XSL:模板> 的 XSL:模板> xsl:stylesheet>但現在我唯一的問題是額外的標籤信息也正在填充。例如,如果有另一個node1,那麼XSL將失敗:( –
Geebee