我用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不熟!!请大家帮帮忙!很急
<?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不熟!!请大家帮帮忙!很急
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...
...
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();
}
}