Hallo zusammen ich benutze den Xerces DOM Parser wie folgt:
import org.apache.xerces.parsers.DOMParser;
DOMParser parser = new DOMParser();
parser.setFeature("http://apache.org/xml/features/validation/schema",true);
parser.setFeature("http://xml.org/sax/features/validation", true);
parser.setErrorHandler(new errHandler());
parser.parse(xmlFile);
Das zugehörige XML file sieht etwa so aus:
<CCphysical xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MySchema.xsd">
<root name="Name">
<directory name="doc" />
<directory name="doc2" />
<directory name="XML" />
</root>
<CCphysical/>
Auszug aus dem zugehörigen Schema:
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="directory" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:String" use="optional" />
</xsd:complexType>
</xsd:element>
Wenn ich die Datei nun parse bekomme ich beim element root nicht 3 ChildNodes, sondern 6, er zählt also die whitespaces mit. Wenn ich das Feature
parser.setFeature("http://apache.org/xml/features/dom/include-ignorable-whitespace",false);
setze funktioniert es auch nicht. Was muss ich tun damit er die whitespaces ignoriert? Danke für jegliche Hilfe.
Fabian
import org.apache.xerces.parsers.DOMParser;
DOMParser parser = new DOMParser();
parser.setFeature("http://apache.org/xml/features/validation/schema",true);
parser.setFeature("http://xml.org/sax/features/validation", true);
parser.setErrorHandler(new errHandler());
parser.parse(xmlFile);
Das zugehörige XML file sieht etwa so aus:
<CCphysical xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MySchema.xsd">
<root name="Name">
<directory name="doc" />
<directory name="doc2" />
<directory name="XML" />
</root>
<CCphysical/>
Auszug aus dem zugehörigen Schema:
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="directory" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:String" use="optional" />
</xsd:complexType>
</xsd:element>
Wenn ich die Datei nun parse bekomme ich beim element root nicht 3 ChildNodes, sondern 6, er zählt also die whitespaces mit. Wenn ich das Feature
parser.setFeature("http://apache.org/xml/features/dom/include-ignorable-whitespace",false);
setze funktioniert es auch nicht. Was muss ich tun damit er die whitespaces ignoriert? Danke für jegliche Hilfe.
Fabian