【发布时间】:2013-01-30 09:58:23
【问题描述】:
我想将XML 解析器与SGML 文档一起使用,但这不起作用。在阅读了一些建议之后,似乎唯一的办法就是使用HTML 解析器。所以我基本上只是尝试做一个简单的查询,从我的文档中提取故事标题。 (如果我解析 null - 打印整个文档,它会起作用,只是我不确定如何访问特定标签,例如标题)。
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 解析器? stackoverflow.com/questions/4867894/sgml-parser-in-java
-
我之前读过那个帖子,关于如何使用 SGML 解析器没有明确的答案,如果你能推荐一个那么好。所有的建议似乎都导致了 HTML 解析器。顺便说一句,我尝试了 SAX 解析器,但失败了
标签: java html xml html-parsing sgml