【发布时间】:2010-08-07 01:11:32
【问题描述】:
伙计们,我是 Java 中 xml 的新手。
我有以下任务。我需要解析一些 xml 文件(特别是 xcb-proto [X11])以在 java 中生成等效的请求协议。协议已经有一个定义良好的 xsd 和相应的 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
【问题讨论】:
-
“最佳”怎么样?最快的?内存最少?免费授权? jar 文件的大小?作者会让你和他妹妹约会吗?这里需要一些细节。
-
我想我现在已经把问题说清楚了。
-
@Will - 什么细节?作者姐姐的电话号码? :-)
-
很遗憾我没有姐姐:3