2012-09-18 15 views
23

Acabo de empezar en mi clase XML y tener algunos problemas para encontrar una solución a mi error. Me sale este error: "El marcado en el documento que sigue al elemento raíz debe estar bien formado. Ubicación de inicio: 6: 2".(XML) El marcado en el documento que sigue al elemento raíz debe estar bien formado. Lugar de inicio: 6: 2

Cualquier tipo de sugerencia o ayuda sería genial.

<?xml version="1.0" encoding="UTF-8"?> 
<heading> 
The Twelve Days of Christmas 
</heading> 

<song> //OxyGen highlights "<song>" as the error, but i'm not sure I understand. 
    <Day ="One"> 
     <verse> 
    On the first day of Christmas, my true love sent to me, a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Two"> 
     <verse> 
    On the second day of Christmas, my true love sent to me 
    Two turtle doves 
    and a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Three"> 
     <verse> 
    On the third day of Christmas, my true love sent to me 
    Three French hens, 
    two turtle doves 
    And a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Four"> 
     <verse> 
    On the fourth day of Christmas, my true love sent to me 
    Four calling birds, 
    three French hens, 
    two turtle doves 
    And a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Fifth"> 
     <verse> 
    On the fifth day of Christmas, my true love sent to me 
    Five golden rings. 
    Four calling birds, 
    three French hens, 
    two turtle doves 
    And a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Sixth"> 
     <verse> 
    On the sixth day of Christmas, my true love gave to me 
    Six geese a-laying, 
    Five golden rings. 
    Four calling birds, 
    three French hens, 
    two turtle doves 
    And a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Seventh"> 
     <verse> 
    On the seventh day of Christmas, my true love gave to me 
    Seven swans a-swimming, 
    six geese a-laying, 
    Five golden rings. 
    Four calling birds, 
    three French hens, 
    two turtle doves 
    And a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Eighth"> 
     <verse> 
    On the eighth day of Christmas, my true love gave to me 
    Eight maids a-milking, 
    seven swans a-swimming, 
    six geese a-laying, 
    Five golden rings. 
    Four calling birds, 
    three French hens, 
    two turtle doves 
    And a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Ninth"> 
     <verse> 
    On the ninth day of Christmas, my true love gave to me 
    Nine ladies dancing, 
    eight maids a-milking, 
    seven swans a-swimming, 
    six geese a-laying, 
    Five golden rings. 
    Four calling birds, 
    three French hens, 
    two turtle doves 
    And a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Tenth"> 
     <verse> 
    On the tenth day of Christmas, my true love gave to me 
    Ten lords a-leaping, 
    nine ladies dancing, 
    eight maids a-milking, 
    seven swans a-swimming, 
    six geese a-laying, 
    Five golden rings. 
    Four calling birds, 
    three French hens, 
    two turtle doves 
    And a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Eleventh"> 
     <verse> 
    On the eleventh day of Christmas, my true love gave to me 
    Eleven pipers piping, 
    ten lords a-leaping, 
    nine ladies dancing, 
    eight maids a-milking, 
    seven swans a-swimming, 
    six geese a-laying, 
    Five golden rings. 
    Four calling birds, 
    three French hens, 
    two turtle doves 
    And a partridge in a pear tree. 
     </verse> 
    </Day> 

    <Day="Twelfth"> 
     <verse> 
    On the twelfth day of Christmas, my true love gave to me 
    Twelve drummers drumming, 
    eleven pipers piping, 
    ten lords a-leaping, 
    nine ladies dancing, 
    eight maids a-milking, 
    seven swans a-swimming, 
    six geese a-laying, 
    Five golden rings. 
    Four calling birds, 
    three French hens, 
    two turtle doves 
    And a partridge in a pear tree. 
     </verse> 
    </Day> 

</song> 

Respuesta

56

En XML sólo puede haber uno elemento raíz - que tiene dos - heading y song.

Si se reestructuran a algo como:

<?xml version="1.0" encoding="UTF-8"?> 
<song> 
<heading> 
The Twelve Days of Christmas 
</heading> 
.... 
</song> 

El error acerca de XML bien formado en el nivel de la raíz debe desaparecer (aunque puede haber otras cuestiones).

+0

wow, * facepalm * es la única cosa que puedo pensar, gracias tanto. – trtmerlin

+0

Ahorre mucho tiempo. Muchas gracias – bisw

-4

Después de asegurar que la cadena "strOutput" tiene una estructura XML correcto, usted puede hacer esto:

Matcher junkMatcher = (Pattern.compile("^([\\W]+)<")).matcher(strOutput); 
strOutput = junkMatcher.replaceFirst("<"); 
Cuestiones relacionadas