这是我的xml字符串
string fromHeader= "<a:From><a:Address>http://ex1.example.org/</a:Address></a:From>";
我想将它加载到XElement中,但是由于'a'前缀,执行XElement.Parse(fromHeader)会给我一个错误。我尝试了以下方法:
XNamespace xNSa = "http://www.w3.org/2005/08/addressing";
string dummyRoot = "<root xmlns:a=\"{0}\">{1}</root>";
var fromXmlStr = string.Format(dummyRoot, xNSa, fromHeader);
XElement xFrom = XElement.Parse(fromXmlStr).Elements().First();
哪个有效,但说真的,我需要4行代码才能做到这一点!什么是获得我的XElement的最快/最短的方式?
答案 0 :(得分:0)
我发现以上4行相当于
var fromStr = "<a:From xmlns:a=\"http://www.w3.org/2005/08/addressing\"><a:Address>http://ex1.example.org/</a:Address></a:From>";
XElement xFrom = XElement.Parse(fromStr);
OR ALTERNATIVELY在解析之前将NS移动到'From'元素。
{{1}}