我正在将XML文档加载到XDocument对象中,执行查询,然后通过Web服务将数据作为XmlDocument对象返回。从LINQ到XML查询的XmlDocument
下面的代码工作正常,但它似乎有点臭。是否有一种更简洁的方式来获取查询结果并将其转换回XDocument或XmlDocument?
XDocument xd = XDocument.Load(Server.MapPath(accountsXml));
var accounts = from x in xd.Descendants("AccountsData")
where userAccounts.Contains(x.Element("ACCOUNT_REFERENCE").Value)
select x;
XDocument xd2 = new XDocument(
new XDeclaration("1.0", "UTF-8", "yes"),
new XElement("Accounts")
);
foreach (var account in accounts)
xd2.Element("Accounts").Add(account);
return xd2.ToXmlDocument();
@Cheeso - 是的XDeclaration是我可以得到XDocument来验证。这只是一个概念验证应用程序,我从Xml文档加载一些数据,查询它,然后通过Web服务方法发送它。我知道我可以建立一个匿名类型,然后为我完成序列化,但是XML文档很大,我不想这样做:) – 2010-03-13 00:37:29