来自不同xml架构的xml集成

时间:2014-07-16 14:20:17

标签: xml xml-parsing xsd

我想从不同的供应商处向我的系统添加产品。他们会将他们的XML文件发送给我,我将整合它们。问题是XML文件的架构不同,标签不同但它们提供相同的信息。我想制作一个通用的结构,以便在出现新的XML时,我可以轻松地将这些产品添加到我的系统中,几乎没有变化。

我的项目是Asp.net和编码语言C#。

有可能做到这一点吗?我应该采取什么方法?

以下是示例XML文件

<products>
<prouduct>
    <code>1</code>
    <name>Tshirt</name>
    <price>10</price>
    <stock>5</stock>
    <category>Men > Shirts</category>
    <subproducts>
        <subproduct>
            <groupid>1<groupid>
            <code>12</code>
            <property>Blue L<property>
            <stock>2</stock>
        <subproduct>
        <subproduct>
            <groupid>1<groupid>
            <code>13</code>
            <property>Red S<property>
        <subproduct>
    </subproducts>
</product>
</prouducts>
另一个

<Urunler>
<Urun>
<UrunID>48826</UrunID>
<UrunAdi>PUMA 84075604 CAT LOGO ŞAPKA</UrunAdi>
<Kod>20YU18000010</Kod>
<Fiyat>28.00</Fiyat>
<Stoklar>
    <Stok>
        <Ozellik isim="Color-Size">STANDART STD</Ozellik>
        <Miktar>1</Miktar>
    </Stok>
</Stoklar>
</Urun>
</Urunler>

1 个答案:

答案 0 :(得分:0)

这是一个非常标准的场景。大多数人使用XSLT转换将各种不同的模式转换为一种规范格式,这可能是行业标准,也可能是您自己设计的(或者它可能是输入格式之一)。您还需要某种消息处理基础结构来控制不同样式表应用于不同源文档的方式。你可以自己写一下,例如在XProc中,或者您可以使用某种框架,例如Cocoon或JBoss ESB - 这个领域有很多产品,我不太了解它们。