将XML-if-Statement转换为Database表 [英] Convert XML-if-Statement into Database table

查看:79
本文介绍了将XML-if-Statement转换为Database表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨!



考虑以下xml文件的输出:



Hi!

Consider the following output of a xml-file:

<PACKET name="abc">
        <VARREF name="X_PACKET"         size="8"/>
        <VARREF name="Y_PACKET"         size="16"/>
        <SPARE                              size="7"/>
        <VARREF name="Z_PACKET"         size="1"/>
        <SPARE                              size="8"/>

        <IF var="Z_PACKET" val="0">
            <VARREF name="PACKET ABC"   size="8"/>
            <VARREF name="PACKET CBA"   size="8"/>
        </IF>
        <IF var="Z_PACKET" val="1">
            <VARREF name="PACKET123"        size="8"/>
            <VARREF name="PACKET321"    size="8"/>
        </IF>
        <SPARE                                  size="7"/>
        <VARREF name="ABCPACKET"    size="1"/>
        <VARREF name="BCDPACKET"            size="16"/>

</PACKET>







现在我想把这个xml-strucuture转换成数据库表(MySQL)。



我有以下表格:



表:数据包(变量:数据包名称)

表:信号(变量:名称(包名),大小,val)

关系:n:m



这意味着:一个数据包可以包含n个信号,一个信号可以包含更多数据包。



现在我不知道如何将if语句转换为表格,因为表包的内容取决于变量val。这意味着,根据Signal表的属性val,数据库表Packet的内容是不同的。





对不起因为我的英语不好



关于




Now i want to convert this xml-strucuture into Database-tables (MySQL).

I have the following tables:

Table: Packet (Variables: Packetname)
Table: Signal (Variables: name(Packetname), size, val)
relationship: n:m

That means: one packet could contain n-signals and a signal can belong to more packets.

Now I don´t know how to convert an if-statement into a table, because the content of the table packet depends on the variable "val". That means, depending on the attribute "val" of the Signal table the content of the database-table Packet is different.


Sorry for my bad english

regards

推荐答案

解决方案:我必须添加一个额外的m:n - 关于表信号的关系。在新创建的表Signal_has_Signal中,我可以将许多SignalID添加到一个特殊的SignalID中。通过选择语句,我能够查看正确的数据包结构(表包)。
The solution: I have to add an additional m:n-Relationship to the table Signal. In the new created table Signal_has_Signal i´m able to add many SignalID´s to one special SignalID. Through Select-Statements I´m able to view the correct Packet-Structure(Table Packet).


这篇关于将XML-if-Statement转换为Database表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆