Я хотел использовать парсер XML
с документом SGML
, однако это не работает. После прочтения некоторых предложений, похоже, только так можно использовать парсер HTML
. Поэтому я просто пытаюсь сделать простой запрос, который будет извлекать заголовок истории из моего документа. (Он работает, если я разбираю нуль - печатает весь документ, просто не уверен, как получить доступ к определенному тегу, например, название).Использование HTML-анализатора с SGML
public static void main(String[] args){
Parser parser = new Parser(xmlFile.getAbsolutePath());
NodeList list = parser.parse (new HasAttributeFilter ("id","title"));
Node node = list.elementAt(0);
if (node instanceof TagNode) {
TagNode meta = (TagNode) node;
String description = meta.getAttribute("title");
System.out.println(description);
}
}
Начало файла SGML:
<head>
<meta words=61 rate=180>
<formname>Testing</formname>
<storyid>1234</storyid>
</head>
<story>
<fields>
<f id=title>Sports</f>
<f id=modify-by>Tester</f>
<f id=modify-date>315576000</f>
</fields>
<body>
XML и HTML связаны с SGML, но оба они несовместимы. Почему бы не использовать синтаксический анализатор SGML? http://stackoverflow.com/questions/4867894/sgml-parser-in-java – Philipp
Я прочитал этот поток раньше, и не было окончательного ответа о том, как использовать синтаксический анализатор SGML, если вы можете предложить один из них великолепно. Все предложения, казалось, привели к HTML Parser. BTW, я попробовал SAX Parser и это не удалось – maloney