java怎么查询xml有多少个标签,java解析xml有关问题:怎么获得一级标签下全部内容...

java解析xml问题:如何获得一级标签下全部内容?

本帖最后由 skiffloveblue 于 2012-07-18 12:48:12 编辑

做一个远程备份和还原的项目,需要把一个xml文件的内容由web端发送给android手机端,然后手机端接受并解析。

由于还原功能是要读取备份数据,所以考虑将从手机端采集的数据备份到远程ftp,存在一个xml文件下。

然后还原过程是从ftp取出c.xml内容,存为String,然后插入到另一个a.xml文件中的一个子节点下(下面红字标出),

a.xml内容如下:

1.2

SyncML/1.2

1

1

IMEI:[000000000000000, 000000000000000]

http://59.64.139.160:8080/NOMWEB/index.jsp

RemoteRestore/2012-07-18 11:42:47

Get

1

000000000000000

NMOTCGui

1

skiff Sun

1-234-567-89;

xiaoke2@126.com;

1-Network Manager -86-China -China -Beijing-Bupt

2

Tao Tao

987-654-32100;1-234-567-8900;

taoge@gmail.com;

1-null-100876-null-Beijing-Beijing-Wudaokou

3

Xiao Ke

564-789-56244;1-580-000-0000;

xiao2@126.com;

1-null-100876-null-BeiJing-BeiJing-GongZhuFen

其中红字部分为c.xml(也就是还原要取出的xml文件内容)

但是在解析xml文件取出数据时取出内容为null,代码如下

DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

Document doc = docBuilder.parse(openFileInput("cmd.xml"));

Element rootElement = doc.getDocumentElement();

NodeList noteNodeList = rootElement.getElementsByTagName("SyncML");

for (int i = 0; i 

String imei = doc.getElementsByTagName("imei").item(i)

.getFirstChild().getNodeValue();

System.out.println(tm.getDeviceId());

if (imei.equals(tm.getDeviceId())) {

cmd.setImei(imei);

cmd.setSourceAddr(doc.getElementsByTagName("sourceAddr")

.item(i).getFirstChild().getNodeValue());

// 还原数据功能使用,data用于存储从ftp取出的xml文件

cmd.setData(doc.getElementsByTagName("data").item(i)

.getFirstChild().getNodeValue());

System.out.println(doc.getElementsByTagName("name"));

System.out.println(doc.getElementsByTagName("name").item(0));

System.out.println(doc.getElementsByTagName("name").item(0).getFirstChild());

cmd.setCmd(doc.getElementsByTagName("cmd").item(i)

.getFirstChild().getNodeValue());

cmd.setScps(doc.getElementsByTagName("scps")

.item(i).getFirstChild().getNodeValue());

Log.i("cmd", cmd.getCmd());

// cmd.setCmdId(doc.getElementsByTagName("cmdId").item(i)

// .getFirstChild().getNodeValue());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值