Я получаю значения во многих файлах XML, используя приведенную ниже строку кода. Тем не менее, я заметил, что некоторые из файлов XML не содержат элементов «DateOfBirth», которые выбрасывают значение, не могут быть нулевыми. Есть ли способ игнорировать элемент и назначить пустое значение, если элемент отсутствует в XML-файле? Поскольку вы можете видеть, что у меня есть цикл, я добавляю эту запись в сетку. Если элемент DateOfBirth отсутствует, он будет игнорировать эту запись и не добавлять ее в DataSet. Я хочу, чтобы он все еще добавлял имя FirstName и LastName и оставлял DOB пустым.Игнорировать отсутствующий элемент XML
foreach (object o in listBox2.Items)
{
DataSet objDataSet = new DataSet();
objDataSet.ReadXml(folder + "\\" + o.ToString(), XmlReadMode.InferSchema);
try
{
List<object> firstNames = objDataSet.Tables["FirstName"].AsEnumerable().Select(r => r["Part"]).ToList();
List<object> lastNames = objDataSet.Tables["LastName"].AsEnumerable().Select(r => r["Part"]).ToList();
List<object> dob = objDataSet.Tables["DateOfBirth"].AsEnumerable().Select(r => r["FullDate"]).ToList();
Добавление XML:
<OmdCds xmlns="cds"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cdsd="cds_dt"
xsi:schemaLocation="cds ontariomd_cds.xsd">
<PatientRecord>
<Demographics>
<Names>
<cdsd:LegalName namePurpose="L">
<cdsd:FirstName>
<cdsd:Part>SARAH</cdsd:Part>
<cdsd:PartType>GIV</cdsd:PartType>
<cdsd:PartQualifier>BR</cdsd:PartQualifier>
</cdsd:FirstName>
<cdsd:LastName>
<cdsd:Part>GOMEZ</cdsd:Part>
<cdsd:PartType>FAMC</cdsd:PartType>
<cdsd:PartQualifier>BR</cdsd:PartQualifier>
</cdsd:LastName>
<cdsd:OtherName>
<cdsd:Part>GABRIELA</cdsd:Part>
<cdsd:PartType>GIV</cdsd:PartType>
<cdsd:PartQualifier>BR</PartQualifier>
</cdsd:LastName>
</cdsd:LegalName>
</Names>
<DateOfBirth>
<cdsd:FullDate>1950-03-26</cdsd:FullDate>
</DateOfBirth>
получить это значение сначала и проверить, является ли это 'string.nullOrEmpty'? – CularBytes
Кроме того, у вас есть _table_ с именем 'FirstName'? Это странный формат XML. –
Кроме того, возможно, вам лучше манипулировать XML напрямую, а не играть с помощью DataSet. –