<library>
<book>
<id>1</id>
<name>abc</name>
<read>
<data>yes</data>
<num>20</num>
</read>
</book>
<book>
<id>20</id>
<name>xyz</name>
<read>
<data>yes</data>
</read>
</book>
<book>
<id>30</id>
<name>ddd</name>
</book>
</library>
Из этого я читаю <book>
узел со значением элемента <id>
= 20, используя ниже кодКак проверить элемент существует в XML
XElement root = XElement.Load("e_test.xml")
XElement book = root.Elements("book")
.Where(x => (int) x.Element("id") == 20)
.SingleOrDefault();
if (book == null)
{
// No book with that ID
}
if(book.Element("read").Element("num") != null) //check the node exist
{
int num = (int) book.Element("read").Element("num");
}
Здесь, если условие не работает должным образом. Он передает условие и входит внутрь и дает пустое исключение. Правильно ли это проверить?
Я использую .NET Framework 4.0
Вы сказали, какую версию .NET вы используете, но не какую версию C# вы используете. Это не одно и то же. –
Я только что попробовал свой код с этим xml и не получил исключение с нулевой ссылкой. Кажется, что-то не хватает. – juharr