【发布时间】:2014-02-05 16:39:12
【问题描述】:
我试图弄清楚如何选择当前选择的 xml 节点的最后一个子节点。我有点麻烦。
xml 文档是这样开始的
<project>
<book>
...
</book>
<characters>
<character>
.....
</character>
</characters>
</project>
我需要能够在字符内附加一个新的字符元素以及带有数据的子节点。
我使用了 if else 语句来判断字符节点是否存在和不存在。我正在研究它现在是否存在。基本上文档已经包含一个字符。
这是我现在正在使用的代码。
nav = nav.SelectSingleNode("/project/characters")
nav.AppendChildElement("", "character", "", "")
nav.SelectSingleNode("//project/characters/*[last()]")
nav.AppendChildElement("", "name", "", characterName)
nav.AppendChildElement("", "race", "", characterRace)
nav.AppendChildElement("", "age", "", characterAge)
nav.AppendChildElement("", "name", "", characterName)
nav.AppendChildElement("", "race", "", characterRace)
nav.AppendChildElement("", "age", "", characterAge)
nav.AppendChildElement("", "gender", "", characterGender)
nav.AppendChildElement("", "origin", "", characterOrigin)
nav.AppendChildElement("", "eye", "", characterEyeColor)
nav.AppendChildElement("", "hair", "", characterHairColor)
nav.AppendChildElement("", "weight", "", characterWeight)
nav.AppendChildElement("", "height", "", characterHeight)
nav.AppendChildElement("", "occupation", "", characterOccupation)
nav.AppendChildElement("", "birthmarks", "", characterBirthmarks)
nav.AppendChildElement("", "piercings", "", characterPiercings)
nav.AppendChildElement("", "tattoos", "", characterTattoos)
nav.AppendChildElement("", "scars", "", characterScars)
Do While counter < traitCount
nav.AppendChildElement("", "trait", "", characterTraits.AsReadOnly(counter))
counter = counter + 1
Loop
counter = 0
Do While counter < habitCount
nav.AppendChildElement("", "habit", "", characterHabits.AsReadOnly(counter))
counter = counter + 1
Loop
nav.AppendChildElement("", "bio", "", characterBio)
document.Save(ProjectDataMod.projectPathMod + ProjectDataMod.projectNameMod + ".xml")
任何帮助将不胜感激。感谢您的宝贵时间。
Jb.
【问题讨论】:
-
您是在问如何选择最后一个子元素,无论发生了什么,还是您在问,具体来说,如何选择您刚刚附加的新子元素?
-
我需要进入我刚刚附加的元素,或者进入所选节点的最后一个子节点,这将是我刚刚附加的节点,哈哈。到目前为止的代码在
的末尾添加了一个子节点 但它没有在该节点内附加元素......我需要在里面获取数据元素 等等新添加的子元素。
标签: .net xml vb.net xmldocument