2015-09-07 1 views
0

Je dois écrire un fichier xml avec deux éléments de départ, comment puis-je faire cela?Élément de départ vierge ou supplémentaire vb.net html write

J'ai essayé ce qui suit, mais en vain.

Dim xmldoc As XmlDocument = New XmlDocument() 
       xmldoc.Load(IO.Directory.GetCurrentDirectory & "\Projects.xml") 

       With xmldoc.SelectSingleNode("/COMPELATION").CreateNavigator().AppendChild() 
        .WriteStartElement("DATA") 
        .WriteStartElement("ID") 
        .WriteElementString("PROJECT", TextBox1.Text) 
        .WriteElementString("DESCRIPTION", TextBox2.Text) 
        .WriteElementString("STATUS", ComboBox1.Text) 
        .WriteElementString("OWNER", TextBox4.Text) 
        .WriteElementString("DATE", TextBox5.Text) 
        .WriteElementString("CLIENT", TextBox6.Text) 
        .WriteEndElement() 
        .WriteEndElement() 
        .Close() 
       End With 

La sortie desierd serait la suivante:


ma description Ouvrez Boutique jack assistant 28-08-2015 magasin Toms mon description Ouvrir Vendeuse jack 28-08-2015 magasin Toms

+0

ayant un élément aléatoire * Les noms * semble que vous stockez des problèmes pour l'avenir. En XML, * data * devrait être dans l'attribut ou l'élément * values ​​*. –

+0

Oh, il n'y a pas si aléatoire tout un système derrière la façon dont ceux-ci sont nommés, votre bienvenue sur les 90+ pages de code si vous aimez –

+0

Qu'est-ce qui ne fonctionne pas exactement? – sloth

Répondre

0

EDIT! Il y a plusieurs façons de le faire: (. Ecrit dans un fichier sur le disque)

VB.NET program that uses XmlWriter 

Imports System.Xml 

Module XmlModule 
    ''' <summary> 
    ''' Employee type. 
    ''' </summary> 
Class Employee 
Public Sub New(ByVal id As Integer, ByVal firstName As String, _ 
      ByVal lastName As String, ByVal salary As Integer) 
    ' Set fields. 
    Me._id = id 
    Me._firstName = firstName 
    Me._lastName = lastName 
    Me._salary = salary 
End Sub 

' Storage of employee data. 
Public _firstName As String 
Public _id As Integer 
Public _lastName As String 
Public _salary As Integer 
End Class 

Sub Main() 
' Create array of employees. 
Dim employees(2) As Employee 
employees(0) = New Employee(1, "Prakash", "Rangan", 70000) 
employees(1) = New Employee(5, "Norah", "Miller", 21000) 
employees(2) = New Employee(17, "Cecil", "Walker", 60000) 

' Create XmlWriterSettings. 
Dim settings As XmlWriterSettings = New XmlWriterSettings() 
settings.Indent = True 

' Create XmlWriter. 
Using writer As XmlWriter = XmlWriter.Create("C:\employees.xml", settings) 


    ' Loop over employees in array. 
    Dim employee As Employee 

    ' Begin writing. 
    writer.WriteStartDocument() 
    writer.WriteStartElement("DATA") ' Root. 

    For Each employee In employees 
    writer.WriteStartElement("ID") 
      Writer.WriteElementString("FirstName", employee._firstName) 
      writer.WriteElementString("LastName", employee._lastName) 
      writer.WriteElementString("Salary", employee._salary.ToString) 
     writer.WriteEndElement() 

    writer.WriteEndElement() 
    Next 
' End document. 
    writer.WriteEndDocument() 
End Using 
End Sub 
End Module 

la SORTIE

Sortie

<?xml version="1.0" encoding="utf-8"?> 

<DATA> 
    <ID> 
    <FirstName>Prakash</FirstName> 
    <LastName>Rangan</LastName> 
    <Salary>70000</Salary> 
    </ID> 
    <DATA> 
    <ID> 
    <FirstName>Norah</FirstName> 
    <LastName>Miller</LastName> 
    <Salary>21000</Salary> 
    </ID> 
    </DATA> 
    <DATA> 
    <ID> 
    <FirstName>Cecil</FirstName> 
    <LastName>Walker</LastName> 
    <Salary>60000</Salary> 
    </ID> 
</DATA> 

Je pense est exacly ce vous voulez

<DATA> 
    <ID> 
     <PROJECT>123</PROJECT> 


<Employees> 
    <Employee> 
    <ID>1</ID> 

Avez Codding fun :) CristiC777

+0

Non Je veux vraiment, {} –

+0

Vous voulez écrire pour vous tout le code? – CristiC777

+0

Non, mais je vois ce que vous avez demandé c'est juste pas la réponse que je cherche ... votre code fonctionne mais ce n'est pas la réponse à ma situation. Votre code ajoute une balise enfant qui n'est pas un problème. Je dois avoir deux étiquettes de parent avant que les enfants n'apparaissent –