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