在运行时vb.net向xdocument添加元素

本文关键字:xdocument 添加 元素 net 运行时 vb | 更新日期: 2023-09-27 18:27:13

我有两个程序,

一个是使用C#.NET V4.5编写的Web服务,另一个是用VB.NET V4.0 编写的

我正在使用xDocument类创建一个xml文档,以发送到Web服务

在VB程序中,我有这样的代码:

 Dim xdoc As New XDocument(
         New XElement("Submission",
            New XElement("Enquiry",
               New XElement("customerurn", dms.data("Enquiry", 3)),
               New XElement("enquiryurn", dms.data("Enquiry", 4)),
               New XElement("salestype", sType),
               New XElement("ispartofmulitpurchase", "N"),
               New XElement("contactsource", "1"),
               New XElement("contactmethod", Cmethod),
               New XElement("mediasource", "OTH"),
               New XElement("ModelOfInterest",
                  New XElement("Vehicle",
                     New XElement("isnewvehicle", newUsed),
                     New XElement("description", dms.data("Enquiry", 10) & " " & dms.data("Enquiry", 11) & " " & dms.data("Enquiry", 16)),
                     New XElement("manu", dms.data("Enquiry", 10)),
                     New XElement("model", model),
                     New XElement("isavailable", "1")
                     )
                  ),
                  New XElement("disabled", "0"),
                  New XElement("status", status),
                  New XElement("haspx", hasPx),
                  New XElement("Statistics",
                     New XElement("updated", CurrentTimeStampAdf()),
                     New XElement("updatedby", getNRCAStaffNo(staffNo))
                     )
                  )
               )
            )

工作良好的

然而,我现在在运行时需要添加另一个元素,如果有一个部件出厂的车辆,

问题是当我使用C#.NET 4.5项目中使用的代码时

xDoc.Descendants("Enquiry").Last().Add

扩展方法(.Last、.firstordefault)等不存在,这是正确的吗?它们是.NET 4.5以后版本特有的,还是我遗漏了什么?

如果这些方法是.NET 4.5+,那么我可以使用其他方法吗?

在运行时vb.net向xdocument添加元素

确保您包括:

Import System.Linq

此外,如果你试图获得一个特定的元素,你可以使用:

var q= from c in xmlFile.Descendants("Enquiry") select c;