java - 如何从 xml 字符串的元素中创建变量?
问题描述
下面代码中的socket连接到一个生成xml字符串形式的天气数据的程序。我的问题是,如何从 xml 字符串中提取我需要的某些元素并将它们放入变量中,以便我可以将它们放入数据库中?
import java.net.*;
import java.io.*;
class MyServer {
public static void main(String args[]) throws Exception {
ServerSocket ss = new ServerSocket(4999);
Socket s = ss.accept();
System.out.println("Client connected");
DataInputStream din = new DataInputStream(s.getInputStream());
DataOutputStream dout = new DataOutputStream(s.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = "", str2 = "";
while (!str.equals("stop")) {
str = din.readUTF();
System.out.println("client says: " + str);
str2 = br.readLine();
dout.writeUTF(str2);
dout.flush();
}
din.close();
s.close();
ss.close();
}
}
解决方案
使用像 Jackson 这样的 XML 解析库。从理论上讲,您可以自己编写解析器,但除非您正在处理非常小的 XML 子集并将其视为学习机会,否则它永远不会那么可靠。
看看这个杰克逊教程。
推荐阅读
- android - 更改颜色箭头菜单组 Android
- loopbackjs - 使用 JWT 身份验证构建 Loopback 4 应用程序时排除 TS2345 错误
- jython - 如何将一个函数调用到另一个具有不同参数的函数中?
- angular - 如何从 ReactivForms 中的 FormControl 返回图像名称
- python - 如何通过python套接字发送文件并保持其扩展名?
- office-js - 是否可以侧载脚本实验室?
- javascript - 在 webpack 中动态加载外部模块失败
- android - 注册通知渠道的最佳位置是什么?
- scala - 测试时如何在 Scala Guice 中覆盖 TypeLiteral
- javascript - Firestore 是否缓存查询结果?