2013-08-16 3 views
0

우리 소프트웨어는 50 대의 클라이언트 PC에 설치되어 있습니다.xml 구성 파일의 특정 위치에 노드를 프로그래밍 방식으로 추가하는 방법

소프트웨어는 xml 구성 파일에서 값을 선택합니다. 각 클라이언트는 구성 파일에 자신의 개인 노드 값 (true/false)을 갖습니다.

이제 우리는 xml 구성 파일에 더 많은 노드가있는 새로운 버전의 소프트웨어를 출시 할 예정입니다.

노드 값 (true/false)을 유지하면서 클라이언트를 기존 구성 파일에 추가하는 방법은 무엇입니까?

참고 We have to provide script to client to do this cannot do manually!

샘플 XML은 :

<?xml version="1.0" encoding="utf-8"?> 
<ApplicationSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <dbEngine>true</dbEngine> 
    <EnableAuditLogging>true</EnableAuditLogging> 
    <Schema> 
    <FileNo>05</FileNo> 
    </Schema> 
    <nodeToBeAdded1> 
    <xml/> 
    <xml/> 
    </nodeToBeAdded1> 
    <nodeToBeAdded2> 
    <DefaultPath="c:\"/> 
    </nodeToBeAdded2> 
    <ExportTo> 
    <ExportTo> 
     <ID>0</ID> 
     <Path>C:\</Path> 
    </ExportTo> 
    </ExportTo> 
</ApplicationSettings> 
+0

일부 XML (이전/새 버전) 샘플을 게시 할 수 있습니까? 그것은 간단한 작업 (즉, 설정 파일을 열고 새 노드를 추가하고 저장하는 것)처럼 들립니다. –

+0

프로그래밍 방식으로 노드를 추가하는 방법은 무엇입니까? – Ishan

+0

우리는 이것을 수동으로 할 수없는 클라이언트에게 스크립트를 제공해야합니다! – Ishan

답변

0
Option Explicit 
Option Strict 

Imports System 
Imports System.IO 
Imports System.Xml 

Public Class Sample 

Public Shared Sub Main() 

    Dim doc As New XmlDocument() 
    doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" & _ 
       "<title>Pride And Prejudice</title>" & _ 
       "</book>") 

    Dim root As XmlNode = doc.DocumentElement 

    'Create a new node. 
    Dim elem As XmlElement = doc.CreateElement("price") 
    elem.InnerText = "19.95" 

    'Add the node to the document. 
    root.AppendChild(elem) 

    Console.WriteLine("Display the modified XML...") 
    doc.Save(Console.Out) 
End Sub 'Main 
End Class 'Sample 

http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.appendchild.aspx

+0

MSDN에서 코드를 게시하는 경우 http://msdn.microsoft.com/library/system.xml.xmlnode.insertafter%28v=vs.100%29.aspx를 언급해야합니다. – KekuSemau

2

여기 당신이 시작할 수있는 기본 코드입니다.

Imports System.Xml 

Public Class Form1 
    Private Sub Test() 
     Dim xDoc As XmlDocument 
     Dim root As XmlNode 
     Dim n As XmlNode 

     xDoc = New XmlDocument() 
     xDoc.Load("F:\tmp\a.xml") 
     root = xDoc.SelectSingleNode("/ApplicationSettings") 
     If xDoc.SelectSingleNode("/ApplicationSettings/NodeToBeAdded1") _ 
      Is Nothing Then 
      n = root.InsertAfter(
       xDoc.CreateNode(XmlNodeType.Element, "NodeToBeAdded1", ""), 
       xDoc.SelectSingleNode("/ApplicationSettings/Schema")) 
      n.AppendChild(
       xDoc.CreateNode(XmlNodeType.Element, "XMLSubSomething", "")) 
     End If 
     xDoc.Save("F:\tmp\b.xml") 
    End Sub 
End Class 
관련 문제