Мне дали XSD-файл, который представляет огромное количество элементов и связанных атрибутов.Я создал класс CS с помощью xsd.exe.
Проблема заключается в том, что созданный xml может содержать любые или все элементы и атрибуты.
Пример XML:
<App action="A" id="1" validate="yes"><ProductType id="5885"/><SpecType id="221"/><Qty>1</Qty><PartType id="7212"/><Part>456789</Part></App>
<App action="A" id="2" validate="yes"><ProductType id="5883"/><Qty>1</Qty><PartType id="7211"/><Part>132465</Part></App>
Тогда в моем коде:
protected static void ImportProduct(string filename)
{
var counter = 0;
var xSerializer = new XmlSerializer(typeof(ProductList));
var fs = new FileStream(String.Format("{0}{1}", FilePath, filename), FileMode.Open);
var reader = XmlReader.Create(fs);
var items = (ProductList)xSerializer.Deserialize(reader);
foreach (var record in items.App)
{
counter++;
Console.Write(String.Format("{0}{1}", record.ProductType.id, Environment.NewLine));
Console.Write(String.Format("{0}{1}", record.Part.Value, Environment.NewLine));
*if (!record.SpecType.Value.Equals(null))
Console.Write(String.Format("{0}{1}", record.SpecType.id, Environment.NewLine));
else
Console.Write(String.Format("{0}{1}", "No SpecType!", Environment.NewLine));
if (counter == 10)
break;
}
}
Поэтому мой вопрос заключается в том, как я могу проверить наличие пустого / несуществующего элемента в соответствии со звездочкой (*) в строке выше.
Я не могу изменить xsd или исходные XML-файлы, так как они производятся крупными производителями.
Дайте мне знать, если вам нужна дополнительная информация.
Спасибо!Бред