java - 有人可以帮我解决这个 JAVA SAXParser 吗?

标签 java python xml

我已经摆弄了 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/

相关文章:

Java API 用于获取一年中特定时区夏令时的开始和结束详细信息

java - 在 JPA 实体的基类中定义序列生成器?

python - Django 查询集更新字段与小写等效 - Django

python - Django 额外的用户注册详细信息未保存到数据库

xml - 自定义 ATOM 提要复制了我在 Google 阅读器中的条目

java - 强制 JAXB 将空元素解释为 Null 而不是空字符串

java - 如何从仅在运行时已知的类型中获取 Dagger 实例

java - TrueTime 有时不提供值(value)

python - 为什么我必须双击才能更改按钮对象的浮雕效果? (tkinter)

值文件夹的 Android hdpi/mdpi/ldpi?