1、解析XML文件:
SAXBuilder builder=new SAXBuilder();
Document doc=builder.build(new FileReader(new File(filePath)));
Element root=doc.getRootElement();
接下来就可以按节点处理xml文档了:
所有节点: List<Element> eleList=root.getChildren();
单个节点: Element modulElement=root.getChild("module", null);
2、对于具有xml格式的字符串,也可以通过SAX解析:
例如:
String info="<book name=\"等风来\" auther=\"鱼京鱼京\"/>";
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);
这样得到的字符串信息就是完整的了。