【发布时间】:2016-11-08 20:45:51
【问题描述】:
我有一个列类型为 XML 的表,该列中的 xml 文件有我想要删除的重复字段。请让我知道如何相应地更新该列。
<Material_NOI>
<Field> -------- ? I want to delete this duplicate one.
<Field>
<id>Type</id>
<value>Initial</value>
<tag />
<visible>true</visible>
<history>10/8/2015|</history>
<description />
</Field>
</Field>
</Material_NOI>
【问题讨论】:
-
如果
<Field>出现两次,而结束的</Field>标记只出现一次,你可能会认为这是XML,但这不是XML!!! 这是如何产生的? -
来自 shnugo 的好点子。这似乎更像是 XML 的语法错误而不是重复。此外,即使字段重复,您首先需要确定如何定义重复的值。为此,我认为一个好方法是从 DB 读取 XML 进行操作,然后将新的 xml 更新到数据库中。通常,您总是需要定义重复性指标。
-
感谢不错的收获。我在之前的帖子中错过了它。字段正在生成两次。目前我只想删除它而不是再次运行整个 xml。有可能吗?
-
有趣的是,您可能会在此处看到另一篇显示为相关问答的帖子stackoverflow.com/questions/2411401/…
-
@wwidhoo Btw:日期 within XML 应该是 ISO8601。你真的应该避免像
10/8/2015这样的文化特定日期格式!在一台机器上,这被视为 8 月 10 日,另一个系统将在 10 月 8 日返回......其他系统可能会完全崩溃......
标签: sql sql-server xml tsql xquery