gpt4 book ai didi

MySQL 使用标签名称和属性值作为列加载 XML

转载 作者:行者123 更新时间:2023-11-29 18:58:18 25 4
gpt4 key购买 nike

我在使用 LOAD XML INFILE 将 XML 加载到数据库表中时遇到问题。我的 XML 文件的示例是:

<?xml version="1.0" encoding="UTF-8"?>
<ProductList>
<Product>
<SKU>ABC123</SKU>
<Description>The product name</Description>
<Images>
<Name>ABC123.JPG</Name>
<ImagePath Type="Large">path/to/large/ABC123.JPG</ImagePath>
<ImagePath Type="Small">path/to/small/ABC123.JPG</ImagePath>
</Images>
</Product>
</ProductList>

我有一个数据库表定义为:

CREATE TABLE `images` (
`SKU` varchar(25) NULL,
`Name` varchar(100) NULL,
`Large` varchar(100) NULL,
`Small` varchar(100) NULL,
KEY `Sku` (`SKU`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

我使用以下查询来加载:

LOAD XML INFILE '/path/to/xml'
INTO TABLE `images`
ROWS IDENTIFIED BY '<Images>';

它正在将“名称”值加载到表中,但“大”和“小”字段未填充。在阅读 MySQL 文档时,它似乎可以支持将属性读取为列标题,但它没有指定是否可以混合使用标签名称和属性值作为同一行集中的列名称。

https://dev.mysql.com/doc/refman/5.6/en/load-xml.html

有人可以帮忙吗?是否可以从我拥有的 XML 布局中读取图像信息到一个表中,每条记录一行,填充名称、大和小这三个字段?

最佳答案

您的 XML 与 LOAD XML INFILE 可以读取的三种 XML 格式中的任何一种都不匹配。

您必须编写一个脚本来解析 XML 输入,读取嵌套标签以查找所需的三个不同图像的路径,然后构建要执行的自定义 INSERT 语句。

关于MySQL 使用标签名称和属性值作为列加载 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44025635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com