我的格式大致采用以下格式:
<stuff thing="value" thing2="1435158141" version2="1.0-BETA" version2="1.03">
<info type="A" protocol="tcp"/>
<host id="14444158141">
<address addr="1.2.3.4" addrtype="ipv4"/>
<ports>
<port protocol="tcp" portid="80">
<state state="open" reason="syn-ack" reason_ttl="64"/>
</port>
</ports>
</host>
<runstats>
<finished time="1435158153" timestr="2015-06-24 11:02:33" elapsed="12"/>
<things up="15838" down="0" total="15838"/>
</runstats>
</stuff>
我想要一个包含addr,addrtype,protocol和portid数据的MySQL表。所以我在MySQL中创建了一个数据库:
CREATE TABLE stuff (
`addr` varchar(255),
`addrtype` varchar(255),
`protocol` varchar(255),
`portid` varchar(255)
);
然后我将XML文件导入MySQL,如下所示:
LOAD XML LOCAL INFILE '/path/to/file.xml'
INTO TABLE stuff
ROWS IDENTIFIED by '<host>';
但是,仅填充protocol和portid列。 addr和addrtype列不是并显示为NULL。为什么呢?
Ubuntu 14.10.1上的MySQL版本为5.5.43。