Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
 
Darkvoid
6 / 6 / 10
Регистрация: 16.10.2012
Сообщений: 519
1

Записать в файл результат преобразования XSLT

16.10.2014, 12:10. Просмотров 475. Ответов 1
Метки нет (Все метки)

Имеется программа вида:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
 
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
 
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
 
public class Show_XML_File 
{
    public static void main(String[] args)
    {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = null;
        Document doc = null;
        try 
        {
            builder = factory.newDocumentBuilder();
        } 
        catch (ParserConfigurationException e) 
        {
            e.printStackTrace();
        }
        File f = new File("Point_xml.xml");
        try 
        {
            doc = builder.parse(f);
        } 
        catch (SAXException e) 
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        
        org.w3c.dom.Element root = doc.getDocumentElement();
                
        System.out.println(root.getTagName());
                
        NodeList nList = root.getChildNodes();
        for (int i = 0; i < nList.getLength(); i++)
        {
            if (nList.item(i) instanceof Element)
            {
                System.out.println("  " + nList.item(i).getNodeName());
                NodeList nList2 = ((Element) nList.item(i) ).getChildNodes();
                for (int j = 0; j < nList2.getLength(); j++)
                {
                    if (nList2.item(j) instanceof Element)
                    {
                        NamedNodeMap attr = nList.item(i).getAttributes();
                        String atr = attr.getNamedItem("unit").getNodeValue();
                        
                        System.out.println("    "
                                + nList2.item(j).getNodeName() + " -> "
                                + nList2.item(j).getTextContent() + " " + atr);
                    }            
                }
                System.out.println(); 
            }
        }
        
        File file = new File("Index.html");
        DataOutputStream a;
        try
        {
            a = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file)));
        }
        catch (FileNotFoundException e)
        {
            System.out.print("File Not Found");
            return;
        }
        
        File stylesheet = new File("Point_xsl.xsl");
        StreamSource SS = new StreamSource(stylesheet);
        try 
        {
            Transformer t = TransformerFactory.newInstance().newTransformer(SS);
            t.transform(new DOMSource(root), new StreamResult(System.out));
            
        } 
        catch (TransformerConfigurationException e) 
        {
            e.printStackTrace();
        }
        catch (TransformerFactoryConfigurationError e)
        {
            e.printStackTrace();
        }
        catch (TransformerException e)
        {
            e.printStackTrace();
        }
    }
}
Файл xml:
XML
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pointList SYSTEM "Point_dtd.dtd">
<pointList>
    <point unit="cm">
        <x>2</x>
        <y>3</y>       
    </point>
    <point unit="mm">
        <x>9</x>
        <y>3</y>       
    </point>
 </pointList>
Его преобразование в html средствами xslt(Тега xslt не нашел):
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<!-- Таблица общая структура -->
    <xsl:template match="/pointList">
        <table border="1">
            <xsl:apply-templates/>
        </table>
    </xsl:template>
<!-- Строки таблицы -->
<xsl:template match="/pointList/point">
    <tr>
        <xsl:apply-templates/>      
    </tr>
</xsl:template>
<!-- Ячейки строки -->
<xsl:template match="/pointList/point/x">
    <td>
        <xsl:value-of select="text()"/> <xsl:text> </xsl:text>
        <xsl:value-of select="../@unit"/>
    </td>
</xsl:template>
<!-- Ячейки строки -->
<xsl:template match="/pointList/point/y">
    <td>
        <xsl:value-of select="text()"/> <xsl:text> </xsl:text>
        <xsl:value-of select="../@unit"/>
    </td>
</xsl:template>
</xsl:stylesheet>
Задача записать в файл результат преобразование в html файл
Как это сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2014, 12:10
Ответы с готовыми решениями:

Как клонировать строку strOne и результат записать в strTwo?
Здравствуйте. Такая ситуация: Есть у меня некая строка String strOne = &quot;qqq&quot;;...

Файл: Записать в файл h компоненты файлов f и g с сохранением порядка.
Даны файлы f и g. Записать в файл h компоненты f и g с сохранением порядка....

XSLT+XML=HTML
У кого какие мысли по этому поводу? Может кто-то уже сталкивался с подобным?...

Записать текст в файл
Да, вот такая сверхзадача :) Хочется просто и кроссплатформенно, в UTF-8. Среди...

Как записать в файл??
Мне нужно создать код,где пользователь сможет ввести данные в новый файл или в...

1
MLPMan
Кандёхаем веселее!
287 / 297 / 75
Регистрация: 02.10.2012
Сообщений: 2,051
17.10.2014, 05:26 2
В строке 99 записать в файловый поток вместо вывода в System.out.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2014, 05:26

Как транформировать xml и xslt в строку html?
Подскажите пожалуста как транформировать xml и xslt в строку html, с помощью...

Прочитать данные из файла и записать в другой файл
Давайте темам осмысленные имена Здравствуйте, Вам! Работаю типичным...

Как записать jpg файл в базу oracle?
Помогите записать jpg файл в базу oracle(blob). На сервере Sun one...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru