SAX解析XML文件、字符串

阅读更多
1、解析XML文件:

SAXBuilder builder=new SAXBuilder();
Document doc=builder.build(new FileReader(new File(filePath)));
            Element root=doc.getRootElement();


接下来就可以按节点处理xml文档了:

        所有节点: List eleList=root.getChildren();

        单个节点: Element modulElement=root.getChild("module", null);

2、对于具有xml格式的字符串,也可以通过SAX解析:

例如:

String info="";
StringReader srReader=new StringReader(info);
        InputSource source=new InputSource(srReader);
        try {
            Document superInfo=builder.build(source);
            Element infoEle=superInfo.getRootElement();

得到的Element就是book这个节点的信息,

         String name=infoEle.getAttributeValue("name");

今天之所以用到这个是因为js不支持Map数据,我就向后台Java类传递了一个这种XML格式的字符串,在Java端进行解析。不知道效率怎么样,但是实现上很方便。

3、将xml元素信息转化为字符串:
有时,我们解析了xml文档中的某一节点信息,得到Element,想把它转化为字符串形式使用。
element提供的一些方法 .getText(),.getValue(),toString(),都不能满足这种需求。
使用XMLOutputter 可以解决:

XMLOutputter outputter=new XMLOutputter();
String infoString=outputter.outputString(infoEle);

这样得到的字符串信息就是完整的了。

你可能感兴趣的:(xml,java)