2
在下面的代码片段中,当遇到元素时使用XmlReader。我想按原样读取它,包括元素中的所有属性和名称空间装饰。使用oXml.Name属性,我只能得到标签名称。有没有一个函数来获取标签本身?XmlReader - 以字符串形式读取当前节点
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(),但它返回元素及其子内容。这可能是可以接受的,但是如何快速转发我的XmlReader以忽略后续的XmlNodeType.Text和XmlNodeType.EndElement,这些将在刚刚从ReadOuterXml获得的元素被解析时发生?
已更新:对于以下代码片段,loc1位于taglist中,所以使用ReadOuterXml编写,但解析器无法获得以下“!”字符。
<para>
Test blabla <loc1 href="test">complicated</loc1>!
</para>
是的,它确实快进了,但我相信它会在EndElement之后的下一个事件中错过。是否因为我已经做了oXml.Read()? – Vincent 2008-10-24 17:10:01