我有一个程序可以在课程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>
我希望在不影响现有课程和其他元素的情况下,插入包含Lesson
,Lesson_date
,Lesson_name
等所有节点的课程。有什么简单的方法吗?
答案 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。