2012-02-18 5 views
3

Привет Может кто-нибудь помочь мне в HTML для преобразования XML с помощью XSLT в java.I преобразуются XML в HTML с использованием XSLT в java.This это код, я использовал для этого converstion:HTML для преобразования XML с помощью XSLT в Java

import javax.xml.transform.*; 

import java.net.*; 
import java.io.*; 

public class HowToXSLT { 

public static void main(String[] args) { 

    try { 

    TransformerFactory tFactory = TransformerFactory.newInstance(); 

    Transformer transformer = 
     tFactory.newTransformer 
     (new javax.xml.transform.stream.StreamSource 
      ("howto.xsl")); 

    transformer.transform 
     (new javax.xml.transform.stream.StreamSource 
      ("howto.xml"), 
     new javax.xml.transform.stream.StreamResult 
      (new FileOutputStream("howto.html"))); 
    } 
    catch (Exception e) { 
    e.printStackTrace(); 
    } 
    } 
} 

Но я не знаю обратный процесс этой программы, который должен преобразовать html в xml? Есть ли какие-либо файлы jar для этого? пожалуйста, помогите мне ...

ответ

3

Как правило, это не представляется возможным «обратного» преобразование, так как преобразование в общем случае не является 1: 1 отображение.

Например, если преобразование делает это:

<xsl:value-of select= "/x * /x"/> 

и мы получим в результате: 16

(и мы знаем, что исходный документ XML был только один элемент),

невозможно определить из значения 16, был ли исходный XML-документ:

<x>4</x> 

или это было:

<x>-4</x> 

И выше был только простой пример! :)

1

Это будет зависеть от того, что вы хотите сделать именно так. Очевидно, что howto.xsl содержит правила, применяемые к xml для получения html.
Вам нужно будет написать еще один файл xsl, чтобы сделать обратное.

+0

На самом деле обратное преобразование вообще не существует! –

+0

Правда, но я имел в виду обратное ** направление ** :-) – Maestro13

0

Я считаю, что это невозможно. Вход XLST должен соответствовать XML и HTML не соответствует XML (если вы не говорите о XHTML).

+1

Часть XHTML не проблема; вы можете сказать, что XSLT выводит хорошо сформированный XHTML. Настоящая проблема заключается в том, чтобы выяснить, какой из HTML-элементов был визуализирован с помощью бит XSLT. Я имею в виду, что если XSLT перевел каждую часть XML-данных в div, вы не сможете работать с полученным HTML, который div был результатом преобразования. –

+1

Обратное преобразование не существует, если исходное преобразование не было отображением 1: 1, что очень редко. Вот почему, в общем, проблема не имеет решения. –

+0

Спасибо за ваш ответ ...... На самом деле мой поток конвертирует xml в html, используя xsl в java, завершен, но после применения некоторых стилей в html-файле мне нужно преобразовать этот html в xml с помощью xsl? Возможно ли создать новый xsl на основе html-файла, который я редактировал ранее? пожалуйста помогите. –

0

Может быть, вам нужно сначала сделать свою жалобу html xhtml, а затем использовать xsl (обратная сторона исходного xsl), у которой есть инструкция для преобразования xhtml-файла в xml.

+0

Обратное преобразование не существует в общем случае! –

-1

Невозможно, вы можете использовать Microsoft.XMLDOM для преобразования из HTML в XML.

Смежные вопросы