检索XmlNode.InnerText的最快,最有效的方法

时间:2014-04-01 13:37:43

标签: c# xml vb.net

我有一个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节点。我应该以不同的方式解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

答案 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

您需要执行此操作的所有信息 祝你好运,快乐编码