2012-09-18 11 views
23

Appena iniziato nella mia classe XML e avendo un po 'di problemi a trovare una soluzione al mio errore. Ottengo questo errore: "Il markup nel documento che segue l'elemento root deve essere ben formato Start location: 6: 2".(XML) Il markup nel documento che segue l'elemento radice deve essere ben formato. Inizio posizione: 6: 2

Qualsiasi tipo di suggerimento o di aiuto sarebbe fantastico.

<?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> 

risposta

56

In XML ci può essere solo uno elemento radice - si hanno due - heading e song.

Se si ristruttura a qualcosa di simile:

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

L'errore su ben formato XML al livello principale dovrebbe scomparire (anche se ci possono essere altri problemi).

+0

wow, * facepalm * è l'unica cosa che posso pensare, grazie mille. – trtmerlin

+0

Risparmia molto tempo. Grazie molto – bisw

-4

Dopo assicurare che la stringa "strOutput" ha una struttura XML corretta, si può fare questo:

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