伙计们,我是 Java 中的 xml 新手。
我有以下任务。我需要解析一些 xml 文件(特别是 h xcb-proto [X11])以在 java 中生成等效的请求协议(protocol)。已经有一个定义良好的 xsd 和协议(protocol)的相应 xml。解决此问题的最佳和最简单的方法/解析器是什么?
现有 xml 内容示例:
<request name="SetScreenSaver" opcode="107">
<pad bytes="1" />
<field type="INT16" name="timeout" />
<field type="INT16" name="interval" />
<field type="CARD8" name="prefer_blanking" enum="Blanking" />
<field type="CARD8" name="allow_exposures" enum="Exposures" />
</request>
这将生成一个 Java DOM (?) 对象。有了这个,我需要用 Java 生成给定的代码。对于这种情况是:
期望的输出:
public void setScreenSaver(int timeout, int interval, int preferBlanking, int allowExposures) {
RequestOutputStream o = outputStream;
synchronized (o) {
o.beginRequest(107, 0, 1); // Major Opcode , Minor Opcode, ReqLength
o.writeInt16(timeout);
o.writeInt16(interval);
o.writeInt8(preferBlanking);
o.writeInt8(allowExposures);
o.send();
}
}
似乎 XSOM 是提供更简单方法的方法...
PS: 我从来没有在 Java 中操作过 xml 文件:3
最佳答案
您应该研究一下 JAXB。它附带一个实用程序,该实用程序将使用 .XSD 文件生成所有 Java 代码以确定结构。
关于java - Java中最简单的xml解析器,为xml中的新手生成代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3428746/