我一直在使用.ReadStartElement / .WriteStartElement来读取和写入XML文件。
我以这种方式从XML文件中读到的问题是,XML文件的元素必须按正确的顺序排列,如果元素不在“正确”的位置,则.ReadStartElement将失败(在至少我的经历)
是否有动态方式从XML文件中读取?所以我可以在我的代码中说“从这个XML文件读取,并在”FirstName“中给我信息......它将遍历文件,直到找到FirstName元素。
或者也许我可以在每个元素中提取信息并将其插入数组或其他内容?
答案 0 :(得分:0)
使用XMLNodeList可能会让您到达目的地。通过在XmlDocument对象上调用 GetElementsByTagName(),可以获得具有特定名称的所有节点的集合。
本文可能对您有所帮助:https://msdn.microsoft.com/de-de/library/dc0c9ekk%28v=vs.110%29.aspx
答案 1 :(得分:0)
幸运的是VB.NET使得处理XML变得容易(注意我使用的是XElement
而不是XmlDocument
):
' Read XML file '
Dim xml = XElement.Load(filename)
' Get value of first <FirstName> element '
Dim firstName = xml...<FirstName>(0).Value
那就是它。
如果你知道<FirstName>
的确切级别,那么你可以,给定这个XML
<Foo>
<Bar>
<FirstName>A Name</FirstName>
</Bar>
</Foo>
使用类似
的内容Dim firstName = xml.<Bar>.<FirstName>.Value