【问题标题】:xml integration from different xml schemas来自不同 xml 模式的 xml 集成
【发布时间】:2014-07-16 14:20:16
【问题描述】:

我想将来自不同供应商的产品添加到我的系统中。他们会将他们的 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>

【问题讨论】:

    标签: xml xml-parsing xsd


    【解决方案1】:

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

    【讨论】:

    • 谢谢,将使用 XSLT 转换将收到的 XML 文件转换为我将使用的 XML 文件。我将为产品创建一个类并序列化 XML。我走对了吗?
    • 不确定为什么需要“产品类”。您不需要数据以 C# 类的形式存在,它只需要以 XML 的形式存在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多