我有一個需要解析並加載到c#類中的xml字符串列表。我收到空引用異常,並認爲它的「根」原因是在xml中使用的命名空間。我不熟悉ling到xml,所以如果這個解決方案看起來不好,請提供替代方案。XML:XElement.Parse正在拋出異常
這裏的解析代碼:
XNamespace ns = "http://www.example.com/schema/msc/message";
XNamespace ns2 = "http://www.example.com/schema/msc/referral";
// data is List<string>
Parallel.ForEach(data, item =>
{
var root = XElement.Parse(item);
var dto = new DTO
{
RoutingCode = (string)root.Element("Message")
.Element(ns + "Params")
.Element(ns + "Events")
.Attribute("Code")
User = new UserDTO
{
AccountName = (string)root.Element("Message")
.Element("Params")
.Element("Events")
.Element("ref:User")
.Element("Name")
}
};
list.Add(dto);
});
下面是一個示例XML元素(減小尺寸的可讀性)
<Message xmlns="http://www.example.com/schema/msc/message">
<Params>
<Events xmlns="http://www.example.com/schema/msc/referral" Code="AC">
<ref:User xmlns:ref="http://www.example.com/schema/msc/referral" Name="asdf"/>
</Events>
</Parama>
</Message>
這是有道理的,但我仍然得到例外。任何方式我可以更好地獲取調試信息,而不是捕獲異常? –