Я пытаюсь запустить код Java, связанный с преобразованием XML в CSV. Использование файла xsl необходимо. Тем не менее, некоторые проблемы, кажется, существуют в коде, потому что при выполнении кода Java я получаю пустой CSV-файл (только заголовок каждого столбца присутствует). Java-код работает очень хорошо, потому что я использовал его с некоторыми тестовыми данными.
Так что проблема связана с xsl-файлом.
Мой xml-файл выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<fcd-export xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/fcd_file.xsd">
<data time="0.00">
<mobil id="1" x="23.774532" y="37.967331" angle="229.707852" type="car" speed="0.000000" pos="5.100000" lane="32041497_0" slope="0.000000"/>
<mobil id="2" x="23.758638" y="37.971738" angle="38.291786" type="car" speed="0.000000" pos="5.100000" lane="265887574#0_0" slope="0.000000"/>
</data>
<data time="1.00">
<mobil id="1" x="23.774522" y="37.967326" angle="230.554332" type="car" speed="1.000000" pos="6.100000" lane="32041497_0" slope="0.000000"/>
<mobil id="2" x="23.758645" y="37.971745" angle="38.291786" type="car" speed="1.000000" pos="6.100000" lane="265887574#0_0" slope="0.000000"/>
</data>
<data time="2.00">
<mobil id="1" x="23.774503" y="37.967316" angle="233.076683" type="car" speed="2.000000" pos="8.100000" lane="32041497_0" slope="0.000000"/>
<mobil id="2" x="23.758660" y="37.971759" angle="38.291786" type="car" speed="2.000000" pos="8.100000" lane="265887574#0_0" slope="0.000000"/>
</data>
В то время как мой xsl-файл:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" >
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
<xsl:template match="/">
x
<xsl:for-each select="/data">
<xsl:value-of select="/data/mobil/@x" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
В строках 5-7 я хочу объявить, что мне нужны значения атрибута: x мобильного этикета.