2017-06-27 9 views
0

Folgende ist meine Problemstellung:vorzeitiges Ende der Datei Fehler beim Generieren wohlgeformtes XML-Dokument

XYZ Schule will die Details Student und Personal in einer XML-Datei zu speichern. Das folgende Szenario hilft bei der Gestaltung der XML-Dokument.Personen wird das Stamm-Tag sein. Personen haben den Eintrag jeder Person mit Name, Alter, Geschlecht, Adresse. Eine Person kann entweder ein Student oder ein Mitarbeiter sein. Student wird Rollno, Standard und Abschnitt haben. Wenn Personal, dann staffid und Thema. Jede Person muss eine Adresse mit dem folgenden Eintrag - Doorno, Straße, Stadt und Staat haben.

Der Code, den ich schrieb ist wie folgt:

 <?xml version="1.0" encoding="UTF-8"?> 
     <!DOCTYPE persons 
[ 
<!ELEMENT name (#PCDATA)> 
<!ELEMENT age (#PCDATA)> 
<!ELEMENT gender (#PCDATA)> 
<!ELEMENT address (doorno,street,city,state)> 
<!ELEMENT student (rollno,standard,section)> 
<!ELEMENT rollno (#PCDATA)> 
<!ELEMENT standard (#PCDATA)> 
<!ELEMENT section (#PCDATA)> 
<!ELEMENT staff (staffid,subject)> 
<!ELEMENT staffid (#PCDATA)> 
<!ELEMENT subject (#PCDATA)> 
<!ELEMENT doorno (#PCDATA)> 
<!ELEMENT street (#PCDATA)> 
<!ELEMENT city (#PCDATA)> 
<!ELEMENT state (#PCDATA)> 

]>

Es gibt die fehler- Ausnahme: Eine vorzeitige Ende der Datei. Ich bin ziemlich neu in XML und habe daher eine harte Zeit. Hilfe würde geschätzt werden

+0

Welches Programm gibt den Fehler? – ceving

Antwort

0

Ich rate, was auch immer Sie verwenden, um zu überprüfen, Ihr Dokument beschweren sich, dass es nicht wohlgeformt ist, da es keinen Wurzelknoten hat. In Ihrem Fall erwarte ich, dass der Stammknoten Personen sein sollte, daher wird das Hinzufügen von <persons/> Ihnen ein wohlgeformtes Dokument geben, obwohl es noch nicht gültig ist.

Sie können ein Validierungstool wie xmllint verwenden, um die Gültigkeit zu überprüfen. Siehe Is there a difference between 'valid xml' and 'well formed xml'?

Obwohl Sie angegeben haben, dass der Stammknoten der DTD Personen ist, haben Sie die Personen oder Personenelemente nicht definiert. Ein Beispiel könnte Sie auf den richtigen Pfad setzen. https://www.w3schools.com/xml/xml_dtd_intro.asp

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE person [ 
<!ELEMENT person (student | staff)> 
<!ELEMENT staff EMPTY> 
<!ELEMENT student EMPTY> 
<!ATTLIST person name CDATA #REQUIRED age CDATA #REQUIRED> 
<!ATTLIST student rollno CDATA #REQUIRED> 
]> 
<person age="1" name="A"> 
<student rollno="20013456"/> 
</person> 
+0

Danke Mic .. hat es geschafft – tron042

Verwandte Themen