В следующем фрагменте, используя 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(), но возвращает элемент и его subcontent. Это может быть приемлемым, но как мне ускорить 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