2012-06-22 9 views
5

Zajmuję się częścią aplikacji internetowej, która pobiera schemat XML jako dane wejściowe do generowania pliku XML. Istnieją również dane, które należy umieścić w tagach XML w uporządkowany sposób.jak wygenerować XML ze schematu XML w java i dane kanału w nim?

na przykład, mam ArrayList 100 numerów, powiedzmy, 1 do 100

i .XSD będzie wyglądać jak w poniższym przykładzie:

xs: element name = "elt1"

xs: complexType

xs:sequence 

    xs:element name="elt1-1" 

    xs:element name="elt1-2" 

    xs:element name="elt1-3" 

    xs:element name="elt1-4" 

    xs:element name="elt1-5" 

xs:sequence 

xs: complexType

xs: el ement name = "elt1"

...... inne elementy

jak mogę wygenerować plik XML tak:

< elt1>

< elt1-1> 1 < elt1-1>

< elt1-2> 2 < elt1-2>

< elt1-2> 3 < elt1-3>

< elt1-4> 4 < elt1-4>

< elt1-5> 3 < elt1-5>

< elt1>

, tak aby dane w każdym tagu były odpowiednim numerem na liście, w tej samej kolejności danych na liście?

Byłbym wdzięczny za sugestię lub przykład. Z góry dziękuję!

Odpowiedz

0

Prawdopodobnie duplikat:

how-to-generate-sample-xml-documents-from-their-dtd-or-xsd

i/lub

XML instance generation from XML schema (xsd)

Również polecam, że jeśli naprawdę wyjaśnić chcesz używać JAX B (od momentu oznaczenia tagiem) i jednoznacznie określić, czy chcesz, aby to zachowanie było zautomatyzowane w Twojej aplikacji, czy też można je dostosować ręcznie lub za pomocą narzędzi zewnętrznych (np. edytory xml).

+0

Dziękuję Patrice. Sprawdziłem te posty, ale nie znalazłem tego, co chcę. Chcę, aby proces generowania był zautomatyzowany w aplikacji internetowej, bez użycia zewnętrznych narzędzi, takich jak tlen. –

+0

@LT_Chen: Czy chcesz konkretnie JAXB? (oznaczyłeś to swoim pytaniem) –

+0

Nie, to nie musi być JAXB. –

5

Możesz użyć narzędzia xsd2inst w XMLBeans do wygenerowania dokumentu XML ze schematu.Jeśli jesteś ciekawy jak XMLBeans robi to można zobaczyć, w jaki sposób narzędzie xsd2inst jest realizowany:

http://svn.apache.org/viewvc/xmlbeans/trunk/src/tools/org/apache/xmlbeans/impl/xsd2inst/

+0

Thaaanks, tego właśnie szukałem. – Mouna

+0

Dla każdego, kto potrzebuje go szukać, znajduje się tutaj w archiwach Apache (znaleziono go w google): https://archive.apache.org/dist/xmlbeans/binaries/xmlbeans-2.6.0.zip – EpicPandaForce

Powiązane problemy