- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
public class XmlParserClass
{
private XmlDocument xmlDoc;
public static List<Attribute> listOfAttributes;
public static Dictionary<int, AttributeValue> listOfAttributeValues;
public static Dictionary<int, File> listOfFiles;
public static List<Product> listOfProducts;
public List<FileCategory> listOfFileCategories;
public List<Distributor> listOfDistributors;
public static bool cryptedFiles = false;
private string xmlfileLocation;
private string XmlfileLocation
{
get
{
if (xmlfileLocation == null)
xmlfileLocation = System.IO.Path.GetDirectoryName(Program.GetValue("XMLFileLocation", ""));
return xmlfileLocation;
}
}
public XmlParserClass(XmlDocument xmlDocument)
{
xmlDoc = xmlDocument;
listOfAttributes = new List<Attribute>();
listOfAttributeValues = new Dictionary<int, AttributeValue>();
listOfProducts = new List<Product>();
listOfFileCategories = new List<FileCategory>();
listOfFiles = new Dictionary<int, File>();
listOfDistributors = new List<Distributor>();
.......
//Читаем а с XML ....
foreach (XmlNode xmlValue in attr.SelectSingleNode("Values").ChildNodes)
{
................
}
listOfAttributes.Add(a);
.........
//Читаем fc с XML....
listOfFileCategories.Add(fc);
.........
}
}
Создали экземпляр чтобы прочитать данные с XML. Куда бы нам их положить? Конечно в статические поля!
wvxvw 18.05.2012 21:51 # 0
koodeer 18.05.2012 22:52 # 0
Lure Of Chaos 19.05.2012 00:44 # +1
koodeer 19.05.2012 15:40 # +1
От него даже хотели избавиться, когда выпускали вторую версию дотнет фреймворка. Но веб-разработчикам привычно работать с DOM, поэтому оставили.
А так раньше рекомендовалось юзать XPathDocument - более шустрый (но только для чтения).
А ныне есть православно-халяльный XDocument. Ещё более быстрый. Да, это LINQ. Да, можно применять AsParallel :).
Lure Of Chaos 19.05.2012 17:39 # 0