我有一个xml节点结构如下:
<Event>
<ID>173537</ID>
<PrinterName>Kyocera FS-820 KX</PrinterName>
</Event>
为了检索ID和PrinterName节点的InnerText,我使用以下内容:
Dim id As Decimal = Convert.ToDecimal(nodeEvent.GetElementsByTagName("ID")(0).InnerText.Trim)
Dim printer As String = nodeEvent.GetElementsByTagName("PrinterName")(0).InnerText.Trim
似乎应该有一种更有效,更快捷的方法,而不是使用XmlNode.GetElementsByTagName方法。在这种情况下,永远不会有多个ID或PrinterName节点。我应该以不同的方式解决这个问题吗?
答案 0 :(得分:1)
XMLReader是迄今为止读取XML的最快方式。
http://msdn.microsoft.com/en-us/library/vstudio/system.xml.xmlreader
性能: https://www.altamiracorp.com/blog/employee-posts/performance-linq-to-sql-vs
答案 1 :(得分:1)
序列化是一个很好的选择,你需要创建一个将在其属性中接收值的类,然后是一个简单的XMLSerializer.Deserialize(XmlReader)
,它将转到你的对象类,让我们说:
class Event
{
public int ID {get;set;}
public string PrinterName{ get;set;}
}
http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx
您需要执行此操作的所有信息 祝你好运,快乐编码