• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

XML替换节点问题 高手请进

andyking_ 2010-10-28 10:23:10
数据库中有一个XML字段 存的值是
<Question>
<QuestionType Code="1" Type="单选题" />
<QuestionField>
<Field Name="Q_Title" />
<Field Name="Q_Type" />
<Field Name="Q_DropDownBox" />
<Field Name="Q_PictureRotation" />
<Field Name="Q_Rotation"/>
</QuestionField>
</Question>

要将换节点
<QuestionField>
<Field Name="Q_Title" />
<Field Name="Q_Type" />
<Field Name="Q_DropDownBox" />
<Field Name="Q_PictureRotation" />
<Field Name="Q_Rotation"/>
</QuestionField>
替换为
<QuestionField>
<Field Name="T_Title" />
<Field Name="T_Type" />
</QuestionField>

怎么写sql?
...全文
48 点赞 收藏 3
写回复
3 条回复
兔子党-督察 2010年10月28日
update tb set xml="new 值" where id=@id
回复 点赞
边城的刀声 2010年10月28日

<Question>
<QuestionType Code="1" Type="单选题" />
<QuestionField>
<Field Name="T_Title" />
<Field Name="T_Type" />
</QuestionField>
</Question>

回复 点赞
边城的刀声 2010年10月28日

XmlDocument doc = new XmlDocument();
doc.LoadXml(@"
<Question>
<QuestionType Code=""1"" Type=""单选题"" />
<QuestionField>
<Field Name=""Q_Title"" />
<Field Name=""Q_Type"" />
<Field Name=""Q_DropDownBox"" />
<Field Name=""Q_PictureRotation"" />
<Field Name=""Q_Rotation""/>
</QuestionField>
</Question>");


doc.SelectSingleNode(@"//Field[@Name=""Q_Title""]").Attributes["Name"].InnerText = "T_Title";
doc.SelectSingleNode(@"//Field[@Name=""Q_Type""]").Attributes["Name"].InnerText = "T_Type";

doc.FirstChild.LastChild.RemoveChild(doc.SelectSingleNode(@"//Field[@Name=""Q_DropDownBox""]"));
doc.FirstChild.LastChild.RemoveChild(doc.SelectSingleNode(@"//Field[@Name=""Q_PictureRotation""]"));
doc.FirstChild.LastChild.RemoveChild(doc.SelectSingleNode(@"//Field[@Name=""Q_Rotation""]"));

Console.Write(doc.InnerXml);
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告