C# 枚举Linq.Xelement
当响应不再是字符串而是Linq.Xelement时,如何调整此代码以使其工作C# 枚举Linq.Xelement,c#,asp.net,xml,C#,Asp.net,Xml,当响应不再是字符串而是Linq.Xelement时,如何调整此代码以使其工作 String response = "anyxml data"; XmlDocument xmlDocument = LoadXMLDocument(response); XmlNodeList nodeList = xmlDocument.GetElementsByTagName("fql_query_response"); if (nodeLis
String response = "anyxml data";
XmlDocument xmlDocument = LoadXMLDocument(response);
XmlNodeList nodeList = xmlDocument.GetElementsByTagName("fql_query_response");
if (nodeList != null && nodeList.Count > 0)
{
if (nodeList[0].HasChildNodes)
{
XmlNodeList results = xmlDocument.GetElementsByTagName("event_member");
Dictionary<string, EventUser> eventUserDict = new Dictionary<string, EventUser>();
foreach (XmlNode node in results)
{
myuids.Add(Int64.Parse(node.FirstChild.InnerText));
}
}
String response=“anyxml数据”;
XmlDocument XmlDocument=LoadXMLDocument(响应);
XmlNodeList nodeList=xmlDocument.GetElementsByTagName(“fql_查询_响应”);
if(nodeList!=null&&nodeList.Count>0)
{
if(节点列表[0].HasChildNodes)
{
XmlNodeList results=xmlDocument.GetElementsByTagName(“事件成员”);
Dictionary eventUserDict=新字典();
foreach(结果中的XmlNode节点)
{
Add(Int64.Parse(node.FirstChild.InnerText));
}
}
您可以使用XElement.ToString()
从XElement
创建XML字符串,您可以将其加载到XmlDocument
:
XmlDocument xmlDocument = LoadXMLDocument(yourXElement.ToString());
您的意思是要从
XElement
创建XmlDocument
最简单的方法可能是:
XmlDocument doc = new XmlDocument();
using (XmlReader reader = element.CreateReader())
{
doc.Load(reader);
}
但是,我不得不说,如果您只是将其全部转换为LINQ to XML,代码可能会更简单,这通常是一个更好的API开始。您有什么理由想继续使用XmlDocument