我在 C# 中解析 XML 时遇到问题,我的 XML 文件如下所示:
<xml>
<category>books</category>
<id>1</id>
<title>lemony</title>
<sub>
<title>lemonyauthor</title>
</sub>
</xml>
<xml>
<category>comics</category>
<id>2</id>
<sub>
<title>okauthor</title>
</sub>
</xml>
如您所见,有时会返回“XML”中的标题,有时则不会。
我在 C# 中解析这个的代码如下所示:
string _Title;
foreach (XElement str in xmlDoc.Descendants("xml"))
{
_Title = "";
if (str.Element("title").Value != null)
_Title = str.Element("title").Value;
foreach (XElement cha in str.Descendants("sub"))
{
if (_Title.Length < 1 && cha.Element("Title").Value != null)
_Title = cha.Element("title").Value;
}
}
如何防止线路if (str.Element("category").Value != null)
返回 a NullException
?
使用try
&catch
是唯一的方法吗?