Здравствуйте, у меня есть требование, где у меня есть XML-файл (общие имена элементов и узлы могут измениться). Намерение состоит в том, чтобы создать из него файл свойств, где с левой стороны будет абсолютный путь к имени элемента, а с правой стороны - значение для этого элемента.
например: -
Если у меня ниже xml: -
<?xml version="1.0" encoding="UTF-8"?>
<group>
<root>
<child>
<subchild>xyz</subchild>
</child>
</root>
<root1>
<child>
<subchild>abc</subchild>
</child>
</root1>
<root2>
<child>
<subchild>pqr</subchild>
</child>
</root2>
<root3>
<child>
<subchild>lmn</subchild>
</child>
</root3>
</group>
тогда вывод должен быть: -
/group/root/child/subchild=xyz
/group/root1/child/subchild=abc
/group/root2/child/subchild=pqr
/group/root3/child/subchild=lmn
Пока что я написал ниже xslt, но он работает неправильно: -
<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text" />
<xsl:template match="node()">
<xsl:for-each select="ancestor-or-self::*">
<xsl:value-of select="concat('/',name(.))"/>
</xsl:for-each>
<xsl:value-of select="concat('=',.)"/>
<xsl:text>
</xsl:text>
<xsl:apply-templates select="*"/>
</xsl:template>
</xsl:transform>
любая помощь будет высоко ценится.
thansk.