Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2014, 18:12   #1
brewsters
 
Регистрация: 15.07.2012
Сообщений: 3
По умолчанию XML-schema

Здравствуйте. При проверки xml-файла на корректность, если в xml-файле есть английский текст, то все нормально, но если есть русский, то выкидывает ошибку. Может кто подскажет: как сделать что-бы работала программа при использование русских символов.
Код:
	 public static void main(String[] args)
	 {
		 try 
		 {
			 validate("dictionary.xml", "current.xsd");
		 }
		 catch (SAXException e) 
		 {
			 e.printStackTrace();
		 }
		 catch (IOException e) 
		 {
			 e.printStackTrace();
		 }
	 }
	 
	 public static void validate(String xmlFile, String validationFile) throws SAXException, IOException
	 {
		 SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
		 Schema schema = schemaFactory.newSchema(new File(validationFile));
		 Validator validator = schema.newValidator();
		 InputStream in = new FileInputStream(xmlFile);
		 StreamSource source = new StreamSource();
		 source.setInputStream(in);
		 
		 validator.validate(source);
	 }
xml-файл:
Код HTML:
<?xml version="1.0" encoding="UTF-8"?>
<DictionaryService>
  <Dictionary>
    <ID>1</ID>
    <name>n1</name>
    <value>v1</value>
  </Dictionary>
  <Dictionary>
    <ID>2</ID>
    <name>n2</name>
    <value>v2</value>
  </Dictionary>
</DictionaryService>
xsd-файл:
Код HTML:
<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="DictionaryService">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Dictionary" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ID" type="xs:int"/>
              <xs:element name="name" type="xs:string"/>
              <xs:element name="value" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Код HTML:
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:687)
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:557)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1753)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.peekChar(XMLEntityScanner.java:497)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2649)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
	at com.sun.org.apache.xerces.internal.jaxp.validation.StreamValidatorHelper.validate(StreamValidatorHelper.java:150)
	at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:116)
	at javax.xml.validation.Validator.validate(Validator.java:124)

Последний раз редактировалось brewsters; 11.03.2014 в 18:16.
brewsters вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Could not find schema information for the attribute VS 2012 _SanR ASP.NET 2 31.05.2013 22:49
C#. Парсинг XML-файла с использованием библиотеки System.xml.linq Gift020 Помощь студентам 5 04.04.2013 13:44
программа, которая должна находить в данной директории *.xml файлы и переименовывать в *.xml.dt. (Delphi) nice.name Помощь студентам 2 09.01.2013 15:40
XML Schema Evgewa HTML и CSS 2 12.11.2010 08:42
Как в XML Schema правильно описать дочерние элементы Stilet HTML и CSS 4 21.11.2007 15:04