1

我有一个将新课程插入课程 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_date的课程。Lesson_name有什么简单的方法吗?

4

2 回答 2

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()在此之后使用。

于 2013-02-01T10:38:19.667 回答
1

通过使用DataSet.ReadXml 方法,您可以做到这一点。更改 Dataset 表中的值并使用DataSet.WriteXml 方法

于 2013-02-01T10:13:55.237 回答