我有以下XML文件
<?xml version="1.0"?>
<Config>
<ImgFileName>W10-00</ImgFileName>
<Index>1</Index>
<Diag>0</Diag>
</Config>我想添加一个新节点'CanSS‘,并将值设为'1’。
这就是我要调用的代码
Private Sub AddNode(ByVal CFGFile As String, ByVal Node As String, ByVal ValStr As String)
Dim docXMLDOM As DOMDocument
Dim nodeRoot As IXMLDOMElement
Dim nodeNewElement As IXMLDOMElement
' Initialize the document model
docXMLDOM = New DOMDocument
' Open the XML document
docXMLDOM.load(CFGFile)
' Get a reference to the root node
nodeRoot = docXMLDOM.documentElement
nodeNewElement = docXMLDOM.createElement(Node)
nodeNewElement.text = ValStr
nodeRoot.appendChild(nodeNewElement)
' Save the file
docXMLDOM.save(CFGFile)
docXMLDOM = Nothing
End Sub这会将我的XML更改为
<?xml version="1.0"?>
<Config>
<ImgFileName>W10-00</ImgFileName>
<Index>1</Index>
<Diag>0</Diag>
<CanSS>1</CanSS><CanSS>1</CanSS></Config>有人能看出我哪里错了吗?
发布于 2020-02-15 03:45:48
由于这是VB,你可以使用XElement和XElement字面量。
Private Sub AddNode(CFGFile As String, Node As XElement, ValStr As String)
'to use this method, note the use of the literal
' AddNode("PATH to xml", <CanSS/>, "The value")
Dim xe As XElement
Try
xe = XElement.Load(CFGFile)
Dim nd As XElement = New XElement(Node)
nd.Value = ValStr
xe.Add(nd)
xe.Save(CFGFile)
Catch ex As Exception
'todo Error
End Try
End Sub发布于 2020-02-17 18:36:45
谢谢大家!原来,我用来获得管理员权限的一些代码导致我的应用程序运行、关闭和重新运行。我现在使用应用程序清单来提升权限,我的代码只运行一次,并且只创建了一个节点!
https://stackoverflow.com/questions/60230803
复制相似问题