Доброго времени суток дамы и господа. Имеется xml файл следующего вида :
<entries>
<entry>
<field>значение поля field</field>
</entry>
...
<entry>
<field>значение поля field</field>
</entry>
</entries>
(с N вложенных элементов <entry>)
Надо его привести к
<entries>
<entry field="значение поля field">
...
<entry field="значение поля field">
</entries>
(с N вложенных элементов <entry>)
Да, тут есть подобные вопросы, но меня интересует не результат, а как сделать это в приложении, через IDEA
. У меня программа создает файл XML
в первичном виде, потом сама его преобразовывает, поэтому мне нужно преобразование сделать именно с помощью средств языка. Гуглил, не нашел нигде работы через java
, везде один чистый xml
или xslt
.
UPD. Помогите написать xslt файл, пробую сам по примерам из гугла, не получается нужного формата.
Даже интересно, как вы гуглили. По запросу "java xslt" первая же ссылка - пример из официальной документации.
public class XslTransform {
public static void main(String[] args) throws IOException, URISyntaxException, TransformerException {
TransformerFactory factory = TransformerFactory.newInstance();
Source xslt = new StreamSource(new File("article1a.xsl"));
Transformer transformer = factory.newTransformer(xslt);
Source xml = new StreamSource(new File("article1.xml"));
transformer.transform(xml, new StreamResult(new File("output.xml")));
}
}
UPDATE:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="entries">
<entries>
<xsl:apply-templates/>
</entries>
</xsl:template>
<xsl:template match="entry">
<entry>
<xsl:for-each select="*">
<xsl:attribute name="{name()}">
<xsl:value-of select="text()"/>
</xsl:attribute>
</xsl:for-each>
</entry>
</xsl:template>
</xsl:stylesheet>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Привет всем! Вот уже целый день пытаюсь установить MySql community 57
Существует один локальный файловый сервер, на котором лежит исполняемый файл, доступ на сервер безпарольныйОтдебажить не могу из-за небольших...