基于现有XSD架构将对象序列化为XML

时间:2013-02-05 08:52:19

标签: c# xml xsd xml-serialization xsd-validation

我必须创建一个基于某个XML Schema Document的XML文档。由于我的数据是DataSet,我需要找到最好的开始方式。

我有几个不同的想法如何开始:

  • 手动创建与XSD匹配的节点,元素和属性
  • DataSet转换为与模式文档匹配并将其序列化的类
  • 别的什么?

这是从DataSet获取XML输出以匹配XSD架构的正确方法吗?

1 个答案:

答案 0 :(得分:1)

可能你应该尝试使用XMLBeans ...这是一个用于编译XSD模式的多样化框架。在此上下文中编译意味着,您可以从XSD文件创建JAVA类。

编译示例(可以看到herescomp -out purchaseorder.jar purchaseorder.xsd

在类路径中使用此jar,您可以使用以下内容创建新的先验有效的模式实例:

public PurchaseOrderDocument createPO() {
    PurchaseOrderDocument newPODoc = PurchaseOrderDocument.Factory.newInstance();
    PurchaseOrder newPO = newPODoc.addNewPurchaseOrder();
    Customer newCustomer = newPO.addNewCustomer();
    newCustomer.setName("Doris Kravitz");
    newCustomer.setAddress("Bellflower, CA");
    return newPODoc;
}

您可以在标题为“从架构创建新的XML实例”标题下的XMLBeans Tutorial找到整个示例。