CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

xml的问题急!!

楼主jimrui(锐)2005-07-25 11:06:50 在 Java / J2SE / 基础类 提问

我用socket服务端接收到对方发来的数据:  
  <?xml   version="1.0"   encoding="utf-8"   ?>    
  <SMS>  
  <Type>Submit</Type>  
  <UserID>8613808899994</UserID>  
  <UserData>bb</UserData>  
  <Time>2005-7-7   22:30:33</Time>  
  </SMS>  
  怎么把8613808899994,bb,2005-7-7   22:30:33这三个字段提取出来啊,我对xml不熟!!请大家帮帮忙!很急 问题点数:100、回复次数:8Top

1 楼Ihate(讨厌编程)回复于 2005-07-25 11:26:23 得分 50

参考:http://www.ccw.com.cn/htm/center/prog/02_11_27_3.aspTop

2 楼jimrui(锐)回复于 2005-07-25 11:38:12 得分 0

但是我接收的是字符串,是不是要新建一个XML对象把这个字符串转换成xml对象,然后对xml操作?Top

3 楼prok(换换口味)回复于 2005-07-25 11:47:31 得分 10

如果是String得话,你干脆自己解析。Top

4 楼jimrui(锐)回复于 2005-07-25 11:49:54 得分 0

但是那三个字段的长度不是定长的?  
  楼上的有什么好方法啊?Top

5 楼liuxiancan123(SUNNY)回复于 2005-07-25 11:56:13 得分 40

可以将接收的字符串转换成xml,然后再解析xml  
  String   st="...";  
  String   filename="test.xml";  
  FileOutputStream   outok=new   FileOutputStream(new   File(filename));  
  java.io.Writer   write=new   java.io.OutputStreamWriter(outok,"gb2312");  
  write.write(st);  
  write.close();  
   
  解析xml...  
  ...Top

6 楼jimrui(锐)回复于 2005-07-25 12:01:37 得分 0

如果这样频繁的写进文件再处理会不会很耗系统资源啊?  
  有没有更高效的方法啊?Top

7 楼jimrui(锐)回复于 2005-07-25 16:11:20 得分 0

import   javax.xml.parsers.*;  
  import   org.w3c.dom.*;  
  import   java.net.*;  
  import   java.io.*;  
   
  public   class   SendMessage  
  {  
    //用户号码  
  public   String   userID=null;  
  //内容  
  public   String   userData=null;      
  public   String   Time=null;  
  DocumentBuilder   db   =   null;  
  private   ServerSocket   ss;  
  private   Socket   socket;  
  private   BufferedReader   in;  
  private   PrintWriter   out;  
   
  public   SendMessage()  
  {  
  try  
  {  
  ss   =   new   ServerSocket(10000);  
   
  while   (true)  
  {  
  socket   =   ss.accept();  
  in   =   new   BufferedReader(new   InputStreamReader(socket.getInputStream()));  
  out   =   new   PrintWriter(socket.getOutputStream(),true);  
  /*System.out.println("aaa");*/  
  String   line   =   in.readLine();  
  System.out.println("接收的字符串是:"+line);  
  /*IputStream   is=new   IputStream(line);*/  
  DocumentBuilderFactory   dbf   =   DocumentBuilderFactory.newInstance();  
  try   {  
   
  db   =   dbf.newDocumentBuilder();  
   
  }   catch   (ParserConfigurationException   pce)   {  
   
  System.err.println(pce);  
   
  System.exit(1);  
   
  }  
   
   
  Document   doc   =   null;  
   
  try{  
      doc   =   db.parse(line);}catch(org.xml.sax.SAXException   e){;}  
       
  userID   =   doc.getElementsByTagName("UserID").item(0).getFirstChild().getNodeValue();  
  userData   =   doc.getElementsByTagName("UserData").item(0).getFirstChild().getNodeValue();  
  /*time   =   doc.getElementsByTagName("Time").item(0).getFirstChild().getNodeValue();*/  
   
  /*sUsrMSISDN=line.substring(0,13);*/  
  /*   sContent=line.substring(14);*/  
   
  System.out.println("用户号码是   is   :"   +   userID);  
  System.out.println("内容是is   :"+userData);  
  /*System.out.println("时间是   :"+Time);*/  
  out.close();  
  in.close();  
  socket.close();  
   
  }  
   
   
  }  
  catch   (IOException   e)  
  {}  
  }  
      public   static   void   main(String[]   args)  
  {  
  new   SendMessage();  
  }  
  }  
   
  Top

8 楼jimrui(锐)回复于 2005-07-25 16:12:21 得分 0

这是我的源码,帮帮我看看Top

相关问题

  • java-xml急!
  • 关于XML的,急。。。
  • 急急急!java和xml问题!
  • XML String 解析问题!!!急急急!!!
  • 如何操作Xml !!急急急
  • xml + asp的问题??? 急!!!
  • 急:xml之ConnetionString问题
  • 关于ADO操作XML!急~~~~~~~~
  • jbuilder调用XML问题????急!!!
  • xml问题,急,在线等!!!

关键词

  • socket
  • db
  • xml
  • null
  • 字符串
  • 接收
  • 解析
  • ss
  • doc
  • io

得分解答快速导航

  • 帖主:jimrui
  • Ihate
  • prok
  • liuxiancan123

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo