2012-08-22 110 views
2

我正在尝试读取XML文件中的注释。使用DOM解析后无法获取评论节点。如何使用DOM解析器从XML文件读取注释

代码:

DocumentBuilderFactory docBldrFactry = DocumentBuilderFactory.newInstance(); 
docBldrFactry.setIgnoringComments(false); 
DocumentBuilder docBuilder = docBldrFactry.newDocumentBuilder(); 
Document document = docBuilder.parse(new File("C:\\webser.xml")); 
Element rootElement = document.getDocumentElement(); 
NodeList list = rootElement.getElementsByTagName("Bean"); 

注释是Bean的元素。当我循环遍历Bean元素的子节点时,我没有得到注释节点。

这里是XML

<Beans> 
    <Bean> 
    <!-- Testing Comments --> 
    <API name ="xyz" /> 
    </Bean> 
</Beans> 
+0

你没有得到你的解析结构的意见,因为他们的意见 - 括号内的注释意味着阅读,而比与代码的交互。看看[这个重复的问题](http://stackoverflow.com/questions/994773/can-dom-parsers-read-inside-html-comments-or-is-regex-the-only-way)为一些关于如何阅读评论节点中的值的想法。 –

+1

请参阅..这是我的理解..但在阅读有关此主题..我知道DOM有一个评论节点类型(#8)..如何以及何时这些将被创建或阅读?它只会用于创建评论吗? – Vyas

+1

你应该用你正在使用的语言标记你的问题 - 对我来说看起来像Java,但我可能是错的。 – IMSoP

回答

5

希望这有助于:)

XMLStreamReader xr = XMLInputFactory.newInstance().createXMLStreamReader(new FileInputStream("file.xml")); 
while (xr.hasNext()) { 
    if (xr.next() == XMLStreamConstants.COMMENT) { 
     String comment = xr.getText(); 
    } } 
相关问题