XML-parsing-Fehler - [s4s-elt-Ungültiger-content.1]
Ich habe Probleme beim Parsen einer XML-Datei. Das XML-schema verwendet wird:
<xsd:complexType name="QuoteFIBondPrice">
<xsd:complexContent>
<xsd:sequence>
<xsd:element name="BidPrice" type="QuoteFIBondValue" minOccurs="0"/>
<xsd:element name="MidPrice" type="QuoteFIBondValue" minOccurs="0"/>
<xsd:element name="OfferPrice" type="QuoteFIBondValue" minOccurs="0"/>
<xsd:element name="MaturityDate" type="DbGMLType:SystemName" minOccurs="0"/>
<xsd:element name="Coupon" type="DbGMLType:SystemName" minOccurs="0"/>
<xsd:element name="DisplayName" type="DbGMLType:SystemName" minOccurs="0"/>
</xsd:sequence>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="QuoteFIBondValue">
<xsd:all>
<xsd:element name="QuoteValue" type="DbGMLType:QuoteValue" minOccurs="0"/>
</xsd:all>
</xsd:complexType>
Die Fehlermeldung die ich bekommen hab ist dieses:
Klasse com.db.dbadapter.util.xml.XMLValidatorParserException: SAXParseException(en) gestoßen:
[s4s-elt-Ungültiger-content.1: Der Inhalt von 'QuoteFIBondPrice' ist ungültig. Element 'sequence' ist ungültig, unangebracht, oder viel zu oft geschieht. (Linie: 53, Spalte: 18) ]
Könnten Sie bitte geben Sie mir eine hand?
Habe ich geändert das XML-schema und jetzt ist es so:
<xsd:complexType name="QuoteFIBondPrice">
<xsd:sequence>
<xsd:element name="BidPrice" type="QuoteFIBondValue" minOccurs="0"/>
<xsd:element name="MidPrice" type="QuoteFIBondValue" minOccurs="0"/>
<xsd:element name="OfferPrice" type="QuoteFIBondValue" minOccurs="0"/>
<xsd:element name="MaturityDate" type="DbGMLType:SystemName" minOccurs="0"/>
<xsd:element name="Coupon" type="DbGMLType:SystemName" minOccurs="0"/>
<xsd:element name="DisplayName" type="DbGMLType:SystemName" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="QuoteFIBondValue">
<xsd:all>
<xsd:element name="QuoteValue" type="DbGMLType:QuoteValue" minOccurs="0"/>
</xsd:all>
</xsd:complexType>
Nach der Prüfung, ich bemerkte, dass der Vorherige Fehler hat sich verändert:
**[cvc-complex-type.2.4.a: Ungültiger Inhalt gefunden wurde beginnend mit element "BidPrice'. One of '{MaturityDate, Gutschein, DisplayName}' erwartet wird. (Zeile: 35 Spalte: 17) ]
[cvc-complex-type.2.3: Element "BidPrice' nicht haben Charakter [Kinder], weil der Typ den content-type wird element-only. (Zeile: 35 Spalte: 35) ]
[cvc-complex-type.2.3: Element "MidPrice" nicht haben Charakter [Kinder], weil der Typ den content-type wird element-only. (Zeile: 36, Spalte: 38) ]class com.db.dbadapter.util.xml.XMLValidatorParserException: SAXParseException(en) gestoßen:
[cvc-complex-type.2.3: Element "OfferPrice" nicht haben Charakter [Kinder], weil der Typ den content-type wird element-only. (Zeile: 34, Spalte: 39) ]
[cvc-complex-type.2.4.a: Ungültiger Inhalt gefunden wurde beginnend mit element "BidPrice'. One of '{MaturityDate, Gutschein, DisplayName}' erwartet wird. (Zeile: 35 Spalte: 17) ]
[cvc-complex-type.2.3: Element "BidPrice' nicht haben Charakter [Kinder], weil der Typ den content-type wird element-only. (Zeile: 35 Spalte: 35) ]
[cvc-complex-type.2.3: Element "MidPrice" nicht haben Charakter [Kinder], weil der Typ den content-type wird element-only. (Zeile: 36, Spalte: 38) ]**
@Jon @skaffman, haben Sie irgendwelche Vorschläge?
Vielen Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht die
complexContent
element, ich glaube nicht, können Sie nur diesequence
direkt unter dercomplexType
:Sehen w3schools docs und Beispiele.
Ich glaube, es ist das schema, das ungültig ist, nicht die Nachricht selbst.
complexContent
soll enthalten Anmerkungen, Einschränkungen oder Erweiterungen.Sind Sie sicher, es ist nicht dazu gedacht, nur
complexType
statt mit einer verschachteltencomplexContent
?