내가 자바 SAX 파서를 사용하고 그리고 난 어떤 경우 배열 채널에자바 SAX 파서 버그
@Override
public void characters(char ch[], int start, int length) throws SAXException {
value = new String(ch, start, length);
를 오버라이드 (override)은 요소의 qname를 포함하지만 전체 값을 포함합니다.
예 :
ch = [... , x, s, d, :, n, a, m, e, >, 1, 2, 3]
하지만 XSD의 실제 값 : 이름입니다 123456789
편집 원래 XML이 훨씬 더 크다 당연히 내가 (이 같은 XML이
String responseString = Utils.getXml(url);
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
handler = new SimpleHandler();
saxParser.parse(new InputSource(new StringReader(responseString)), handler);
List<Entit> list = handler.getList();
)
<root>
<el>
<xsd:name>11111111</xsd:name>
</el>
<el>
<xsd:name>22222222</xsd:name>
</el>
<el>
<xsd:name>123456789</xsd:name>
</el>
<el>
<xsd:name>333333333</xsd:name>
</el>
</root>
xml의 한 값에 대해서만 오류가 발생합니다.
어떻게 해결할 수 있습니까?
파서와 해당 XML 문서를 호출하는 코드를 제공 할 수 있습니까? – SirRichie
전체적인 질문은 "** 요소의 값을 어떻게 얻을 수 있습니까? **"** ** "? –
아니, 그렇게 생각하지 않아. 다른 xml 값을 얻을. 그래서 나는 이것이 자바 색소폰 파서의 버그라고 생각한다. – user3714967