在下面的代码片段中,当我遇到一个元素时,使用 XmlReader。我想按原样阅读它,包括元素中的所有属性和命名空间装饰。使用 oXml.Name 属性,我只能获取标签名称。是否有获取标签本身的功能?
oXml = XmlReader.Create(path, oXmlSettings)
While oXml.Read()
Select Case oXml.NodeType
Case XmlNodeType.Element
'Read Element as-is
If taglist.contains(oXml.Name)
stringbuilder.Append(oXml.ReadOuterXml())
End If
Case XmlNodeType.Text
stringbuilder.Append(oXml.Value)
End Select
End While
我试过 oXml.ReadOuterXml() 但它返回元素及其子内容。这可能是可以接受的,但是当我刚刚从 ReadOuterXml 获得的元素已被解析时,我如何快进我的 XmlReader 以忽略后续的 XmlNodeType.Text 和 XmlNodeType.EndElement?
更新:对于以下代码片段,loc1 在 taglist 中,因此使用 ReadOuterXml 编写,但解析器无法获取以下“!” 特点。
<para>
Test blabla <loc1 href="test">complicated</loc1>!
</para>