首页 > 解决方案 > XmlNode 操作是“通过引用”吗?C#

问题描述

这段代码有效,但我想了解为什么我没有将修改后的内容传XmlDocument回给调用者——我猜是代码审查;)。我假设这些操作在内部XmlNode使用“by Ref”对文档进行操作。我可以看到它有效,但我只是想确保我正确理解了这一点。我还没有找到任何专门解决这个问题的文档——可能是因为它太明显了。所以帮助我在这里的开发人员。这一切都是 Ref 发生的,我不必担心将修改后的内容传XmlDocument回给调用者,对吗?另外,这个线程安全吗?我将此代码用作服务应用程序的一部分。

public void AddNewElement(XmlDocument doc, string elementName)
{
    XmlNode selectedNode = doc.SelectSingleNode("//" + elementName);
    if (selectedNode == null)
    {
        var childNodes = doc.LastChild.LastChild.ChildNodes;
        XmlNode appendNode = childNodes.Item(childNodes.Count - 1);
        XmlNode newNode = appendNode.AppendChild(doc.CreateElement(elementName));
        newNode.InnerText = str64;
    }
}

标签: c#xml

解决方案


推荐阅读