【发布时间】:2015-10-02 22:20:00
【问题描述】:
我有一个类似的 XML 数据
<Data><CustomerDetails><CustomerName>ABCD</CustomerName><CusomerACCTNumber>12121212</CusomerACCTNumber></CustomerDetails><BillDetails><BillTxDetails><BillID>121212</BillID><BillDate>12-May-2015</BillDate><Time>12:55AM</Time></BillTxDetails><BillTxDetails><BillID>121212</BillID><BillDate>12-May-2015</BillDate><Time>5:55AM</Time></BillTxDetails></BillDetails></Data>
如何使用java创建xsd文件?以及如何为上述xml数据创建java类(pojo/bean)? 我试过这种方式
public class CustomerDetails {
private String CustomerName;
private String CusomerACCTNumber;
// ==> setters and getters
}
public class BillTxDetails {
private String BillID;
private String BillDate;
private String Time;
// ==> setters and getters
}
public static void main(String ...) {
Class[] c = new Class[] { CustomerDetails.class, BillTxDetails.class };
JAXBContext jc =JAXBContext.newInstance(Data.class);
jc.generateSchema(new SchemaOutputResolver() {
@Override
public Result createOutput(String namespaceUri, String suggestedFileName) throws IOException {
StreamResult result = new StreamResult(System.out);
result.setSystemId(suggestedFileName);
return result
}
});
}
但我仍然没有进入 XSD 根元素 谢谢
【问题讨论】:
-
您有一个 XML 文件。这看起来不像是一个 XSD 文件...
-
认为他的意思是他有一个 XML,他想从中构建一个 xsd。 OP请澄清你的问题
-
这是要使用 java 生成 XSD 的 XMl 数据。
-
通常,XSD 应该在 XML 之前创建,因为 XSD 文件的目的是验证您的 XML。考虑到这一点,您可以尝试使用 trang 之类的工具来创建 XSD 模板(从现有的 XML sn-p),然后手动修改您的 XSD,向其中添加任何额外的验证规则。没有工具能够准确地知道这些规则应该是什么,例如数据类型、最大长度、必需与可选等等
-
谢谢,在我的关注中,首先我正在创建基于创建 XSD 文件的 java 类的示例 XML 数据和类(比如 JaxB 类)