Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 正在更新另一个应用程序app.config键值对_Xml_Vb.net_Visual Studio 2010 - Fatal编程技术网

Xml 正在更新另一个应用程序app.config键值对

Xml 正在更新另一个应用程序app.config键值对,xml,vb.net,visual-studio-2010,Xml,Vb.net,Visual Studio 2010,我正在尝试修改不属于.net应用程序的app.config文件。 当其他应用程序逐行读取这些值,并将数据库(n)值与服务器(n)值关联时,我的密钥需要是唯一的,并显示在静态密钥(Server1或Server2)下 我看不到对外部.config文件使用标准app.config方法的方法,因此我使用的是Xml文档类 示例XML文件: 但是找不到一种方法来检索密钥以检查它是否存在,更重要的是增加值 谢谢。我想你已经走上了正确的道路。您已经在研究按键抓取元素的方法,因此可以增加并查看元素是否存在 现

我正在尝试修改不属于.net应用程序的app.config文件。 当其他应用程序逐行读取这些值,并将数据库(n)值与服务器(n)值关联时,我的密钥需要是唯一的,并显示在静态密钥(Server1或Server2)下

我看不到对外部.config文件使用标准app.config方法的方法,因此我使用的是Xml文档类

示例XML文件:

但是找不到一种方法来检索密钥以检查它是否存在,更重要的是增加值


谢谢。

我想你已经走上了正确的道路。您已经在研究按键抓取元素的方法,因此可以增加并查看元素是否存在

现在,考虑到您所讨论的结构,最好使用“NextSibling”方法遍历元素并跟踪找到的项目,而不是查询每个键的顺序是否重要的细节

<add key="server1" value="SERVER\SQL2000" />
<add key="database1" value="ggfd" />
<add key="database2" value="dvdv" />

<add key="server2" value="SERVER\SQL2005" />
<add key="database3" value="trvs" />
<add key="database4" value="tgdfs" />
<add key="database5" value="trvs" />
Dim MyKey As String = "database" & No?
    Dim XmlDocument As New XmlDocument
    Dim XmlNode As XmlNode
    Dim XmlRoot As XmlNode
    Dim XmlKey As XmlNode
    Dim XmlValue As XmlNode

    Save_Config_Parameter = ""
    XmlDocument.Load("app.config")

    XmlNode = XmlDocument.DocumentElement.SelectSingleNode("/configuration/appSettings/add[@key=""" & MyKey & """]")

    If XmlNode Is Nothing Then


        XmlNode = XmlDocument.CreateNode(XmlNodeType.Element, "add", "")
        XmlKey = XmlDocument.CreateNode(XmlNodeType.Attribute, "key", "")
        XmlKey.Value = MyKey
        XmlNode.Attributes.SetNamedItem(XmlKey)
        XmlValue = XmlDocument.CreateNode(XmlNodeType.Attribute, "value", "")
        XmlValue.Value = MyValue
        XmlNode.Attributes.SetNamedItem(XmlValue)

        XmlRoot = XmlDocument.DocumentElement.SelectSingleNode("/configuration/appSettings")
        If Not XmlRoot Is Nothing Then
            XmlRoot.AppendChild(XmlNode)
        Else
            Save_Config_Parameter = "ERROR"
        End If
    Else

        XmlNode.Attributes.GetNamedItem("value").Value = MyValue

    End If

    XmlDocument.Save("app.config")