Xml解析器 - 获取注释内的信息

时间:2015-08-18 22:22:02

标签: java xml dom

我的目标是在xml注释代码中获取一些信息,在本例中是标记城镇内的信息。

对于像这样的html提取:

<script type="text/xml">
 <!--
 <world>  
  <city>
   <town>
    London
   </town>
  </city>
  <city>
   <town>
    New York
   </town>
  </city>
 </world>
 -->
</script>

我希望得到那个&#34;伦敦&#34;和&#34;纽约&#34;。

我的代码是:

   doc.getDocumentElement().normalize();
        System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
        NodeList nList = doc.getElementsByTagName("city");
        System.out.println("----------------------------");
        for (int temp = 0; temp < nList.getLength(); temp++) {

            Node nNode = nList.item(temp);
            if (nNode.getNodeType() == Node.ELEMENT_NODE) {

                Element eElement = (Element) nNode;

                System.out.println("Town : " + eElement.getElementsByTagName("Town").item(0).getTextContent());


            }
        }

然而,这段代码不起作用。但是,如果我删除评论,它确实。为什么它没有评论,以及如何解决它? 谢谢!

1 个答案:

答案 0 :(得分:0)

它不起作用,因为元素不是示例中的xml元素,而是注释的一部分。为什么doc.getElementsByTagName("city");将从注释中解析并返回xml节点? 您可以阅读更多相关信息here