【问题标题】:Update XML element with LINQ to XML使用 LINQ to XML 更新 XML 元素
【发布时间】:2010-03-15 17:40:59
【问题描述】:

我正在使用以下 XML 编辑 XML 元素:

    <?xml version="1.0" encoding="utf-8"?>
<!--Test XML with LINQ to XML-->

<LabSerivceInfo>

  <LabService>
    <ServiceType>Copy</ServiceType>
    <Price>1</Price>
  </LabService>

  <LabService>
    <ServiceType>PrintBlackAndWhite</ServiceType>
    <Price>2</Price>
  </LabService>

</LabSerivceInfo>

Dim varServiceType = txtServiceType.Text.Trim

如何更新 ServiceType = varServiceType 的 ServiceType 和 Price?

【问题讨论】:

    标签: vb.net linq-to-xml


    【解决方案1】:

    看看这些:
    http://msdn.microsoft.com/en-us/vbasic/bb688087.aspx
    “LINQ to XML 示例”~~ vb

    http://msdn.microsoft.com/en-us/library/bb387091.aspx
    “示例(LINQ to XML)” ~~ c# 和 vb

    http://msdn.microsoft.com/en-us/library/bb397965.aspx
    “LINQ C# 示例”

    更多:通过谷歌:

    linq to xml samples
    

    【讨论】:

      【解决方案2】:

      你可以这样使用:

      Dim el = (From x In doc.XPathSelectElements("//*") _
                Where x.Value = varServiceType _
                Select x.Parent).FirstOrDefault()
      

      以上代码返回&lt;LabService&gt;元素。

      编辑添加:

      嘿,我可以在有条件的情况下选择这样的价格

      Dim query = (From s In xElement.Load(theXMLSource1).Descendants("LabService") _
                  Where s.Element("ServiceType") = "Scan" _
                  Select s.Element("Price").Value).FirstOrDefault() 
      

      但是,我还不知道如何更新它。你能分享一些代码吗?

      使用您的示例:

      Dim price = (From s In xElement.Load(theXMLSource1).Descendants("LabService") _
                  Where s.Element("ServiceType") = "Scan" _
                  Select s.Element("Price")).FirstOrDefault() 
      
      price.Value += 1500
      

      【讨论】:

      • 嘿,我可以选择这样的价格条件 Dim query = (From s In xElement.Load(theXMLSource1).Descendants("LabService") Where s.Element("ServiceType") = " Scan" Select s.Element("Price").Value).FirstOrDefault 但是,我还不知道如何更新它。你能分享一些代码吗?
      • 谢谢你。这对我帮助很大。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多