将新元素插入XML

时间:2013-02-01 10:08:45

标签: xml vb.net

我有一个程序可以在课程XML中插入新课程。这是XML文件:

Course.xml

<Courses>

   <Course>
      <Name>ABC course</Name>
      <Lessons>
         <Lesson>
           <Lesson_name>Learn ABC!</Lesson_name>
           <Lesson_date>XX/XX/XXXX</Lesson_date>
         </Lesson>


        'WANT TO ADD A LESSON HERE!!!


      </Lessons>
   </Course>

   <Course>
      <Name>DEF Course</Name>
      <Lesson>
        <Lesson_name>Learn DEF!</Lesson_name>
        <Lesson_date>XX/XX/XXXX</Lesson_date>
      </Lesson>
   </Course>

</Courses>

我希望在不影响现有课程和其他元素的情况下,插入包含LessonLesson_dateLesson_name等所有节点的课程。有什么简单的方法吗?

2 个答案:

答案 0 :(得分:3)

这样的事情应该有效:

Dim xmlDoc As XmlDocument = New XmlDocument()
xmlDoc.Load("Course.xml")

Dim courseName = "ABC course"
With xmlDoc.SelectSingleNode("/Courses/Course[Name = '" & courseName & "']/Lessons").CreateNavigator().AppendChild()
    .WriteStartElement("Lesson")
    .WriteElementString("Lesson_name", "Learn something else!")
    .WriteElementString("Lesson_date", "YY/YY/YYYY")
    .WriteEndElement()
    .Close()
End With

如果要修改实际文件,可以在此之后使用xmlDoc.Save()

答案 1 :(得分:1)

通过使用 DataSet.ReadXml Method ,您可以执行此操作。更改数据集表格中的值,然后使用 DataSet.WriteXml Method