我已经遵循了

this tutorial来验证XML文件.但是在验证XML文件时收到异常.我做错了什么?我的代码:

XML模式:

要验证的XML文件:

FirstName

Lastname

+xxxxxxxxxxxx

用于验证的Java源代码

import javax.xml.XMLConstants;

import javax.xml.transform.Source;

import javax.xml.transform.stream.StreamSource;

import javax.xml.validation.*;

import org.xml.sax.SAXException;

import java.io.*;

public class ProtocolValidator

{

public static void main(String [] args) throws Exception

{

Source schemaFile = new StreamSource(new File("schema.xsd"));

Source xmlFile = new StreamSource(new File("test_xml.xml"));

SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

Schema schema = schemaFactory.newSchema(schemaFile);

Validator validator = schema.newValidator();

try{

validator.validate(xmlFile);

System.out.println(xmlFile.getSystemId() + " is valid");

}

catch (SAXException e)

{

System.out.println(xmlFile.getSystemId() + " is NOT valid");

System.out.println("Reason: " + e.getLocalizedMessage());

}

}

}

异常我正在收到:

Exception in thread "main" org.xml.sax.SAXParseException; systemId: file:/root/test/schema.xsd; lineNumber: 4; columnNumber: 50; The prefix "xs" for element "xs:element" is not bound.

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)...

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐