我有以下场景:使用XML数据绑定,我有一个从模式A创建的对象,以及使用模式B创建的另一个对象。但是,模式B 导入模式A以便定义A类型的子节点。
所以,现在我有:
objectA
(来自架构A)objectB
(来自架构B),objectA
(来自架构B,导入架构A) unit2.objectA
课程当然与unit1.objectA
不兼容。 unit2中的定义也不同,因为它不包含一些命名空间属性(这很重要:我认为这些是隐式的,因为父节点也有它们。)
这是我的问题:我可以做很多事情,因为这些只是IXMLDocument
个对象,但我希望能够从unit1.objectA
创建unit2.objectA
。
我最初的想法是,应该能够从文档中导出节点,并且应该有一个选项可以根据正确的模式使这个导出的节点“kosher”(因此,文档中的类型A的节点) B应该根据模式A进行导出和验证。)我知道这可能是希望得太多,所以我的问题可能会被重新定义:
我如何将节点从IXMLDocument
对象导出到新的IXMLDocument
对象,同时添加/覆盖命名空间属性(xmlns
,{{1 }},xmlns:xsi
)在导出的节点/文档中?
答案 0 :(得分:0)
原来是一个非常棘手的问题。使用我的XML库中的低级DOM函数和大量的肘部润滑剂;必须导出想要的片段,并手动调整模式和名称空间,然后重新格式化所有内容。