我是C#的新手,刚开始使用XmlElement及其SelectSingleNode方法.在我的
XML文件中,有一个标签可能有一个值(即< tag>值< / tag>)或为空(即< tag>< / tag>).如果它为空,则SelectSingleNode返回null.
XmlElement elem = .... string s = elem.SelectSingleNode("somepath").Value;
此代码显然会引发空标记的异常.但是,对我来说,空标记是一个有效值,我希望我的字符串的值为“”.
用try … catch包含对SelectSingleNode的每次调用似乎是代码的巨大浪费(我有许多字段可能是空的),我确信有更好的方法来实现这一点.
推荐的方法是什么?
编辑:
根据请求,示例XML代码将是:
<Elements> <Element> <Name>Value</Name> <Type>Value</Type> <-- may be empty <Color>Value</Color> </Element> <Element> <Name>Value</Name> <Type>Value</Type> <Color>Value</Color> </Element> </Elements>
CS代码:
XmlDocument doc = new XmlDocument(); doc.Load("name.xml"); foreach (XmlElement elem in doc.SelectNodes("Elements/Element")) { myvalue = elem.SelectSingleNode("Type/text()").Value; }