Hejs! Hej Tobiaselement med samma namn, och deras attribut
Jag försöker transformera ett xml dokument med ett antal element med samma namn. Dessa element har ett antal attribut och jag skulle vilja komma åt dessa.
Nåt i den här stilen (det är en svg bild):
<g>
<rect id="1" x="100" y="100" ... />
<rect id="2" x="101" y="101" ... />
...
</g>
Och jag skulle vilja transformera till något liknande:
<PARENT>
<CHILD>
<ID>1</ID>
<X>100</X>
<Y>100</Y>
...
</CHILD>
<CHILD>
..
</CHILD>
...
</PARENT>
Mina xml-xsl kunskaper är mycket mycket begränsade, för att inte säga obefintliga, skulle ändå verkligen behöva göra detta. Någon vänlig själ som kan hjälpa mig med detta?
/TobbeSv: element med samma namn, och deras attribut
--------- test.xml
<g>
<rect id="1" x="100" y="100"/>
<rect id="2" x="101" y="101"/>
</g>
-------- test.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:template match="*">
<xsl:element name="{name()}">
<xsl:apply-templates/>
<xsl:for-each select="@*">
<xsl:element name="{name()}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
-------------- test.vbs
Dim pXML
Set pXML = CreateObject("MSXML2.DOMDocument")
pXML.load "test.xml"
Dim pXSL
Set pXSL = CreateObject("MSXML2.DOMDocument")
pXSL.load "test.xsl"
MsgBox pXML.TransformNode(pXSL)