我已经摆弄了 3 个小时,我无法让这个 F***** 解析器工作。抱歉骂人。 我不明白为什么我找不到完全符合我要求的一个像样的教程。
我只想向函数发送一个字符串/XML。然后,解析它。这并不难。在python中,我闭着眼睛也能搞定。很棒的文档就在这里:http://www.crummy.com/software/BeautifulSoup/documentation.html
import BeautifulSoup
soup = BeautifulSoup(the_xml)
persons_name = soup.findAll('first_name')[0].string
为什么我找不到教我如何解析 XML 的好的、简单的文档?????这是我当前的 JAVA SAX 代码,它不起作用,我什至不知道为什么。
public static void parseit(String thexml)
{
SAXParserFactory factory = SAXParserFactory.newInstance();
try {
SAXParser saxParser = factory.newSAXParser();
saxParser.parse( thexml , new DefaultHandler() );
} catch (Throwable err) {
err.printStackTrace ();
}
}
有人可以给我写代码来使用 SAX 解析器解析 XML 吗...拜托...它就像 5 行代码。
最佳答案
好的,所以您需要做的是实现您自己的处理程序(而不是使用默认处理程序)。所以替换
saxParser.parse( thexml , new DefaultHandler() );
与
saxParser.parse( thexml , new MyFreakingHandler() );
其中 MyFreakingHandler 实现接口(interface) HandlerBase 或者它可以扩展 DefaultHandler 类。然后简单地为这样的方法提供实现,比如
public void startDocument () throws SAXException
public void endElement (String name) throws SAXException
但是我不知道为什么您在网上找不到任何教程。我已经至少 3 年没有使用 SAXParser 了,为了回答您的帖子,我只是简单地向 Google 寻求帮助。
编辑:
好吧,所以把事情搞清楚。曾经有一个 SAX 的官方 Java 教程,不知何故我现在在网上找不到了,但是仍然有一些不错的非官方教程可以提供很大帮助。例如,试试这个:http://www.java-samples.com/showtutorial.php?tutorialid=152
关于java - 有人可以帮我解决这个 JAVA SAXParser 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2250450/