我正在尝试从Elasticsearch结构解析我们的SQL Server中的WordPress数据。
这是一条记录上一个字段的内容;
<category domain="category" nicename="featured">Featured</category>
<category domain="post_tag" nicename="name1">Name 1</category>
<category domain="post_tag" nicename="name-2">Name 2</category>
<category domain="post_tag" nicename="different-name">Different Name</category>
<category domain="type" nicename="something-else">Something Else</category>
我想把它解析成一个表,其中包含标题Domain、NiceName和Contents,并且数据中的每个节点对应一行。
| 网域|很好Name|目录|
| - -|- -|- -|
| 范畴|特色|精选|
| 帖子标签|名称1|姓名1|
| 帖子标签|名称-2|姓名2|
| 帖子标签|异名|不同的名称|
| 类型|别的东西|其他|
数据中每一行的节点数是不同的,并且可以以任何顺序出现。当前数据以varchar数据类型存储,但如果最好使用XML之类的数据类型进行解析,则可以修改这种数据类型。
1条答案
按热度按时间7d7tgy0s1#
建议 您 使用
xml
数据 类型 来 存储 XML 数据 。 但是 , 如果 必须 将 其 存储 在varchar
列 中 , 则 可以 使用try_cast
将 其 转换 为 XML ( 如果 它 实际 上 不是 有效 的 XML , 则 会 生成null
) , 然后 使用 常规 的nodes()
、query()
和value()
XML 方法 处理 它 , 如下 所 示 ...中 的 每 一 个
| 网域|很 好 Name|目录|
| - -| - -| - -|
| 范畴|特色|精选|
| 帖子 标签|名称 1|姓名 1|
| 帖子 标签|名称 -2|姓名 2|
| 帖子 标签|异名|不同 的 名称|
| 类型|别 的 东西|其他|