ContactXmlReader.cs:
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using ScanToSalesForce.Model;
namespace ScanToSalesForce.Util
{
public class ContactXmlReader
{
public List<CardInfo> Read(string fileName)
{
List<CardInfo> cards = new List<CardInfo>();
XmlTextReader reader = new XmlTextReader(fileName);
CardInfo card = new CardInfo();
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.LocalName.Equals("ContactXMLItem"))
{
card = new CardInfo();
}
else if (reader.LocalName.Equals("FullName"))
{
card.FullName = reader.ReadString();
}
else if (reader.LocalName.Equals("PhoneItem") &&
reader.GetAttribute("usage") == "Official" &&
reader.GetAttribute("phoneDevice") == "Phone")
{
card.Phone = reader.ReadString();
}
else if (reader.LocalName.Equals("PhoneItem") &&
reader.GetAttribute("usage") == "Official" &&
reader.GetAttribute("phoneDevice") == "Fax")
{
card.Fax = reader.ReadString();
}
}
else if (reader.NodeType == XmlNodeType.EndElement)
{
if (reader.LocalName.Equals("ContactXMLItem"))
{
cards.Add(card);
}
}
}
reader.Close();
return cards;
}
}
}