【问题标题】:update xml using xdocument使用 xdocument 更新 xml
【发布时间】:2015-03-31 11:58:51
【问题描述】:

我想使用 XDocument 更新 XML 其中 Trans_mast 是我的表名,其中 text_xml 在那里 我不知道该怎么做,因为我也遇到了错误 这是代码:

 var names = (from Trans_Mast in XDocument.Load(p.text.ToString())
                 .Descendants("Text")
                 .Where(c => c.Attribute("group").Value.Equals(groupname))
                 select Trans_Mast).ToList();

foreach (var item in names)
{
    // xele.Value = content;
}

【问题讨论】:

  • 你能显示你的 XML 文件吗?
  • 错误信息到底是什么,哪一行触发了该错误?
  • @har07 没有错误,但我的 XML 没有更新,所以我接下来要做什么

标签: c# linq linq-to-xml


【解决方案1】:

我不知道你为什么要混合查询和方法语法,如果可能的话,坚持一个。在这里,我使用的是方法语法:-

var xdoc = XDocument.Load(p.text.ToString());
var names = xdoc.Descendants("Text")
                .Where(c => c.Attribute("group").Value.Equals(groupname));

然后您可以使用SetAttributeValueSetElementValue 分别更新属性或元素值。像这样:-

foreach (var item in names)
{
    item.SetElementValue("yourelementName","value");
}

更新: 最后保存xdoc对象:-

xdoc.Save(p.text.ToString());

【讨论】:

  • 从此我的 XML 将更新,或者我必须为此编写查询??
  • 在 xdoc.save() 处显示非法路径错误; @Rahul Singh
  • 嘿伙计,我不确定'p.text'是什么......你需要做的就是使用xdocument.Load方法从你加载xml文件的地方,在Save中传递相同的路径方法也一样。
  • 如果我的列数据类型是 xml 并且我想保存它呢??? bcz 数据库未更改 xml 数据类型的 bcz
  • 我不确定你在说什么,就 XML 的更新而言,它会起作用。
猜你喜欢
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多