VB.NET 使用 LINQ to XML 向 XML 文档添加元素

标签 vb.net linq-to-xml

我正在使用以下代码向现有 XML 文档添加一个元素:

        Dim theXMLSource As String = Server.MapPath("~/Demo/") & "LabDemo.xml"
    Dim nodeElement As XElement

    Dim attrAndValue As XElement = _
        <LabService>
            <ServiceType>
                <%= txtServiceType.Text.Trim %>
            </ServiceType>
            <Level>
                <%= txtLevel.Text.Trim %>
            </Level>
        </LabService>

    nodeElement.Add(New XElement(attrAndValue))
    nodeElement.Save(theXMLSource)

它会产生这样的错误:

System.NullReferenceException: Object reference not set to an instance of an object.

Object reference not set to an instance of an object.

Error line: nodeElement.Add(New XElement(attrAndValue))

我调试了它,但我还没有得到错误。你能说明问题是什么吗?谢谢

最佳答案

您需要加载现有文件,如下所示:

Dim theXMLSource As String = Server.MapPath("~/Demo/LabDemo.xml")
Dim document As XDocument = XDocument.Load(theXMLSource)

...

document.Root.Add(attrAndValue)
document.Save(theXMLSource)

关于VB.NET 使用 LINQ to XML 向 XML 文档添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2447423/

相关文章:

VB.net - "Dim x as new Y()"与 "Dim x as Y = new Y()"

javascript - 检查应用程序是否已经运行或重新启动

c++ - 将代码从 Visual Basic 移至 C++ 问题

C# 将根添加到 XDocument

c# - 如何使用 LINQ to XML 将节点放入字典中

c# - 如何获取root的xml属性值?

c# - 使用 .Net 将字符串转换为 XML

vb.net - VB.NET-对非共享成员的错误引用需要对象引用(WindowsIdentity.Groups属性)

c# - 如何将 XPath 与不带前缀的默认命名空间一起使用?

c# - 扩展 System.Xml.Linq.XElement - 内部 CloneNode