java - XML 解析器给出 null 元素

标签 java xml xml-parsing

当我尝试解析 XML 文件时,它有时会在标题处给出一个 null 元素。 我认为这与 HTML 标签 '

有关

如何解决这个问题?

我有以下 XML 文件:

<item>
<title>&#039; Nieuwe DVD &#039;</title>
<description>tekst, tekst tekst</description>
<link>dvd.html</link>
<category>nieuws</category>
<pubDate>Sat, 1 Jan 2011 9:24:00 +0000</pubDate>
</item>

下面的代码用于解析 xml 文件:

//DocumentBuilderFactory, DocumentBuilder are used for 
      //xml parsing
      DocumentBuilderFactory dbf = DocumentBuilderFactory
        .newInstance();
      DocumentBuilder db = dbf.newDocumentBuilder();

      //using db (Document Builder) parse xml data and assign
      //it to Element
      Document document = db.parse(is);
      Element element = document.getDocumentElement();

      //take rss nodes to NodeList
      element.normalize();

      NodeList nodeList = element.getElementsByTagName("item");

      if (nodeList.getLength() > 0) 
      {
       for (int i = 0; i < nodeList.getLength(); i++) 
       {
        //take each entry (corresponds to <item></item> tags in 
        //xml data

        Element entry = (Element) nodeList.item(i);
        entry.normalize();
        Element _titleE = (Element) entry.getElementsByTagName(
          "title").item(0);

        Element _categoryE = (Element) entry
          .getElementsByTagName("category").item(0);
        Element _pubDateE = (Element) entry
          .getElementsByTagName("pubDate").item(0);
        Element _linkE = (Element) entry.getElementsByTagName(
          "link").item(0);

        String _title = _titleE.getFirstChild().getNodeValue();
        String _category = _categoryE.getFirstChild().getNodeValue();
        Date _pubDate = new Date(_pubDateE.getFirstChild().getNodeValue());
        String _link = _linkE.getFirstChild().getNodeValue();

        //create RssItemObject and add it to the ArrayList
        RssItem rssItem = new RssItem(_title, _category, _pubDate, _link);

        rssItems.add(rssItem);
        conn.disconnect();
       }

最佳答案

当您真正想要getTextContent时,不要使用getFirstElement

关于java - XML 解析器给出 null 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4575918/

相关文章:

java - 如何将图标(如搜索、心形、选项)添加到 Android 卡片 View 的顶部,如图所示?

java - 如何跳过 XSD :type while unmarshalling?

javascript - 在 AngularJS 表达式中使用 "&&"时,Thymeleaf 解析错误

java - 在不同分支之间向下 merge/向上 merge 更改时如何解决 pom.xml 冲突?

java - 颠覆 NoClassFoundDefError

java - 简单的 Java 列表问题

java - 在带有azure函数@ServiceBusQueueTrigger的java中,如何获取Label,Custom Properties和Broker Properties?

java - Spring 无法 Autowiring 存储库

xml - 从批处理文件中解析 XML 文件的属性

xml - 如何在 XML 中编码 '<' 和 '>' 符号