Мне нужно проверить правильность URL-адреса RSS-канала. У меня есть url, теперь мне нужно проверить этот URL-адрес только для RSS-канала, как я могу проверить это в ядре Java? пожалуйста, помогитеПроверка правильности URL-адреса RSS-канала в Java
0
A
ответ
0
Я сделал это простым способом, не знаю, как далеко он встречается, но в моем случае это полезно. Blow - это мой код фрагмента
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(url); // url is your url for testing
doc.getDocumentElement().getNodeName().equalsIgnoreCase("rss")
все.
0
Лучший способ заключается в использовании XML Validation для этого: Скачать XSD файл отсюда и поместите его позади вас файл класса: http://europa.eu/rapid/conf/RSS20.xsd
Вы можете использовать XSD с DOM:
private void validate(final File file) throws SAXException, ParserConfigurationException, IOException {
final List exceptions = new ArrayList();
final ErrorHandler errorHandler = new ErrorHandler() {
public void warning(SAXParseException e) throws SAXException {
// we can forgive that!
}
public void error(SAXParseException e) throws SAXException {
exceptions.add(e);
}
public void fatalError(SAXParseException e) throws SAXException {
exceptions.add(e);
}
};
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(false);
factory.setNamespaceAware(true);
final SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
final Schema schema = schemaFactory.newSchema(getClass().getClassLoader().getResource("Rss20.xsd"));
factory.setSchema(schema);
final DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(errorHandler);
builder.parse(file);
if(exceptions.size() == 0) {
// no error
} else {
// Error happens!
}
}
0
I знаю, что это было 3 года назад), но вот мой код. Используйте библиотеку rome. Using ROME to read a syndication feed
public boolean romeLibraryExample(String address) {
boolean ok = false;
try{
URL url = new URL(address);
HttpURLConnection httpcon = (HttpURLConnection)url.openConnection();
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(url));
ok = true;
} catch (Exception exc){
exc.printStackTrace();
}
return ok;
}
Смежные вопросы
- 1. Проверка правильности ввода Java Eclipse
- 2. Java, GUI: проверка правильности ввода
- 3. Проверка правильности имени класса в Java
- 4. Проверка правильности в SQL
- 5. Проверка правильности адреса IPv4
- 6. Проверка правильности серийного кода
- 7. проверка правильности корректной работы
- 8. Проверка правильности адреса электронной почты + java regularExpression
- 9. Проверка правильности формы веб-приложения Java
- 10. Проверка правильности номера с использованием Java
- 11. Проверка правильности идет не так - Java
- 12. Проверка правильности правильности - подтверждение не правильно
- 13. Проверка правильности модели (Java) - различная проверка для create() и update()
- 14. Проверка правильности Rails - включение
- 15. Проверка правильности строки
- 16. Проверка правильности использования кода
- 17. Проверка правильности указателя указателя
- 18. Проверка правильности пробега JQuery
- 19. Проверка правильности конечной точки
- 20. Проверка правильности XSD-версии
- 21. Проверка правильности синтаксиса Pascal
- 22. Проверка правильности int
- 23. Проверка правильности WPF
- 24. Проверка правильности сонаты
- 25. Проверка правильности флажка Javascript
- 26. Проверка правильности от контроллера
- 27. Проверка правильности URL-адресов
- 28. Проверка правильности формы Rails
- 29. Проверка правильности заданной строки
- 30. Проверка правильности color_id
У вас нет выбора, кроме как получить доступ к этому URL, чтобы проверить, если это на самом деле RSS канал ... Как проверить свою форму, используйте 'URI'. – fge
да, я думаю, что это только путь – RITUser