分享

XML解析笔记

 木有银 2008-09-13
XML是描述结构化信息的技术,XML格式能偶表达层次结构和重复的元素而不会被曲解。
XML和HTML格式都是古老的标准通用标记语言(SGML)的衍生语言。
XML和HTML的区别,大小写的区分等等。
通常使用DOM或者SAX来解析XML,如果在节省内存或者只是对某些元素感兴趣,而不关心他们的上下文,那么可以考虑使用SAX。
关于DOM,要读入一个XML文档,首先需要一个DocumentBuilder对象,可以从DocumentBuilderFactory中得到这个对象,例如:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
然后从文件中读入某个文档:
File f = ...
Document doc = builder.parse(f);
或者,可以用一个URL:
URL u = ...
Document doc = builder.parse(u);
可以通过getDocumentElement方法来分析文档的内容,他将返回根元素。
Element root = doc.getDocumentElement();
分析子元素可以使用root.getChildNodes方法,但要注意。例如,假设如下文档:
<font>
    <name>Helvetica</name>
    <size>36</size>
</font>
这时候会分析出5个元素来:
<font>和<name>之间的空白区域
name元素
</name>和<size>之间的空白区域
size元素
</size>和</font>之间的空白区域
解决方法是:
for (int i = 0; i < nodes.getLength(); i++) {
    Node node = nodes.item(i);
    if (node instanceof Element) {
        Element element = (Element) node;
        System.out.println(element.getTextContent());
    }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多