2010-03-15 149 views
1

我编辑XML元素与下面的XML:更新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 

如何更新的服务类型和价格,其中服务类型= varServiceType?

回答

0

你可以使用这样的事情:

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

上面的代码返回<LabService>元素。

编辑补充:

嘿,我可以用条件

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 
+0

嘿,我可以选择价格像这样的具有条件昏暗查询=(来自S对在xElement.Load(theXMLSource1).Descendants( “LabService”),其中s。元素(“ServiceType”)=“扫描”选择s.Element(“Price”)。Value).FirstOrDefault 但是,我无法弄清楚如何更新它。你能分享一些代码吗? – Narazana 2010-03-15 19:07:38

+0

谢谢你。这对我非常有帮助。 – Narazana 2010-03-15 20:37:11