Ich versuche, einige XML mit EclipseLink MOXy zu analysieren, und es ist in der Zeile mit dem xsi
Attribut fehlgeschlagen. Wenn ich das entferne, parst es gut. Wie auch immer, ich habe 100GiB XML, um durchzuwaten und das Ändern der Quelldateien ist keine Option.Wie setzt man Namespace bewusst auf falsch?
Es wurde vorgeschlagen, dass, wenn ich XmlParser.setNamespaceAware(false)
einstellen kann, dann sollte es funktionieren - aber ich habe keine Ahnung, wie das zu konfigurieren, ohne direkt in den Eingeweiden von MOXy.
<record>
<header>
<!-- citation-id: 14404534; type: journal_article; -->
<identifier>info:doi/10.1007/s10973-004-0435-2</identifier>
<datestamp>2009-04-28</datestamp>
<setSpec>J</setSpec>
<setSpec>J:1007</setSpec>
<setSpec>J:1007:2777</setSpec>
</header>
<metadata>
<crossref xmlns="http://www.crossref.org/xschema/1.0"
xsi:schemaLocation="http://www.crossref.org/xschema/1.0 http://www.crossref.org/schema/unixref1.0.xsd">
<journal>
<journal_metadata language="en">
[...]
Die Ausnahme, die ich bekommen, wenn das xsi:
Präfix vorhanden ist:
org.springframework.oxm.UnmarshallingFailureException: JAXB unmarshalling exception; nested exception is javax.xml.bind.UnmarshalException
- with linked exception:
[Exception [EclipseLink-25004] (Eclipse Persistence Services - 2.4.0.v20120608-r11652): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred unmarshalling the document
Internal Exception: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[13,107]
Message: http://www.w3.org/TR/1999/REC-xml-names-19990114#AttributePrefixUnbound?crossref&xsi:schemaLocation&xsi]
Was ist das ursprüngliche Problem, das Sie treffen? –
@BlaiseDoughan aktualisiert. Wirklich hoffe, dass Sie helfen können :) –
In Ihrem Anwendungsfall können Sie die erforderliche 'xmlns: xsi' Deklaration hinzufügen? Überprüfen Sie, bevor wir in alternative Optionen eintauchen. –