[Silverlight入门系列]byte[]转换XElement
在Silverlight中不能使用XmlDocument,可以使用XDocument但不能序列化,所以最好推荐使用XElement。可以使用Linq语法查询其内容。
如果是XML字符串转换为XElement,可以用 XDocument.Parse(xmlString).Root;如果是byte[],如何转换,可以用下面的方法(不要把byte[]先转换为string,有encoding的潜在问题):
1: byte[] bContent;//输入的byte[]
2: using (var ms = new MemoryStream(bContent))
3: {
4: var xmldoc = new XmlDocument();
5:
6: xmldoc.Load(ms);
7: return XElement.Load(new XmlNodeReader(xmldoc));
8: }
Linq to XML
关于XPath语法和LINQ to xml语法映射,可以参考MSDN,这篇和这篇。
