`

SAXReader解析XML

    博客分类:
  • java
阅读更多

总结:

Document document=new SAXReader.reader(“xml文路径/文件名xxx.xml”);//得到Document对象

Element root = document.getRootElement()//获得根节点

Iterator iterator=root.elementIterator(); //从根节点遍历子节点

Iterator iterator=Element.elementIterator(); //再从子节点在遍历其子节点

对节点访问其属性用:Attribute leaderAttr =Element. attribute(“xxx”);

对节点访问其某个属性leaderAttr的名称:leaderAttr.getName();
对节点访问其某个属性leaderAttr的值:leaderAttr.getValue()

对节点访问其名称:Element.getName();

对节点访问其文本:Element. getText();

 

 

//SAXReader解析XML

public List<SMS> parseXML(String content) throws Exception{

/**

 * <?xml version="1.0" encoding="UTF-8"?>

<mo>

<mescode>0</mescode>

<msgs>

<msg>

<mob>111111111</mob>

<content>生生世世</content>

</msg>

</msgs>

</mo>

 */

SAXReader reader = new SAXReader();

Document document = reader.read(new StringReader(content));

if(document == null) {

log.error("解析XML失败:"+content);

return null;

}

Element e = (Element) document.selectSingleNode("/mo/mescode");

if(e == null) {

log.error("解析mescode节点失败:"+content);

return null;

}

int result = Integer.parseInt(e.getText());

switch(result){

/**

 *  0 成功

1 失败

2      错误

 

 */

case 0:

List<SMS> messages = new ArrayList<SMS>();

List<Node> nodes = document.selectNodes("/mo/msgs/msg");

if(nodes == null){

log.error("解析msg节点失败:"+content);

return null;

}

for(Node node : nodes){

SMS message = new SMS();

e = (Element) node.selectSingleNode("mob");

message.setMobliePhone(e.getText());

e = (Element)node.selectSingleNode("content");

message.setContnet(URLDecoder.decode(e.getText(), encoding));

messages.add(message);

}

return messages;

case 1:

log.error("失败");

break;

case 2:

log.error("错误");

break;

}

return null;

}

 

//构造XML

 

StringBuilder builder = new StringBuilder();

builder.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

builder.append("<mt>");

builder.append(String.format("<userid>%s</userid>", USERID));

builder.append(String.format("<pwd>%s</pwd>", PWD));

builder.append("<msgs>");

if(messages != null){

for(SMS message : messages){

builder.append("<msg>");

builder.append(String.format("<mob>%s</mob>", s%));

builder.append(String.format("<content>%s</content>", URLEncoder.encode(s%,"UTF-8")));

builder.append("</msg>");

}

}

builder.append("</msgs>");

builder.append("</mt>");

分享到:
评论

相关推荐

    用SAXReader解析xml文档

    包括解析xml文档方法,使用方法的数据包,xml文档格式的介绍,java与xml的绑定等

    解析XML特殊字符方法

    解析XML特殊字符方法有二种 XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符XML特殊字符

    saxreader 解析 XML

    android移动开发需要解析XML。从tomcat下载得打数据,然后解析。

    sax解析xml

    使用sax解析xml的源代码

    dom4j解析xml字符串

    // 读取并解析XML文档 // SAXReader就是一个管道,用一个流的方式,把xml文件读出来 // // SAXReader reader = new SAXReader(); //User.hbm.xml表示你要解析的xml文档 // Document document = reader.read...

    Java解除文件占用即Dom4j操作后实现xml关流

    主要介绍了Java解除文件占用即Dom4j操作后实现xml关流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中

    dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中

    教你如何用SAX解析XML

    SAX解析XML 原代码解疑 详细步骤 读取xml里的数据

    xpp3 xml解析器

    XPP —— XML Pull Parser,XPP3是一个非常快的XML解析器,是第三版的XPP

    使用Sax技术读XML文档:SaxReaderXML.rar

    使用Sax技术读XML文档:SaxReaderXML.rar

    Dom和SAX型解析xml

    Dom和SAX型解析xml,很多常用的方法哦!

    DOM4J解析XML时DTD路径问题

    使用dom4j解析含有这样dtd的xml文件时,它会从网络找到这个文件对xml文件进行校验。但是如果电脑断开网络的话就会出现错误说找不到dtd文件并解析失败。所以请使用以下方法...

    day023-xml解析笔记和代码.rar

    由于DOM4J在解析XML时只能一层一层解析,所以当XML文件层数过多时使用会很不方便, 结合XPATH就可以直接获取到某个元素 使用dom4j支持xpath的操作的几种主要形式 第一种形式 /a/b/c: 表示一层...

    SAXreader需要的jar包.zip

    dom4j-2.1.3 jaxen-1.1.6用于解析xml的第三方jar包

    Android .xml文件三种解析方式

    使用PULL SAX DOM三种解析方式,来解析.xml文件。

    使用dom4j.doc

    2.解析XML形式的文本,得到document对象. String text = "&lt;members&gt;&lt;/members&gt;"; Document document = DocumentHelper.parseText(text); 3.主动创建document对象. Document document = DocumentHelper.create...

    使用Maven管理项目,实现DOM4j操作XML文件

    该示例实现MAVEN来进行创建的,实现了dom4j操作XML文件,包括创建XML、动态创建XML节点、更新XML节点、删除XML节点。

    sax解析util

    简单的sax解析方式 更灵活的使用 String result = ""; try { String filename = "students.xml"; URL url = Configuration.class.getClassLoader().getResource(filename); String str = url.getFile(); ...

    Android例子源码三种方式对xml文件进行解析例子

    一个采用DomReader、SAXReader、PullReader三种方式对xml文件进行解析的小例子,源码有简单的注释,运行以后会在LogCat里打印解析出的内容,实际应用的时候可以可以稍微改一下就行,例子读取的是储存在assets里面的...

    Android 三种方式对xml文件进行解析例子.zip

    一个采用DomReader、SAXReader、PullReader三种方式对xml文件进行解析的小例子,源码有简单的注释,运行以后会在LogCat里打印解析出的内容,实际应用的时候可以可以稍微改一下就行,例子读取的是储存在assets里面的...

Global site tag (gtag.js) - Google Analytics