2 Stimmen

Aufzählung von Linq.Xelement

Wie kann man diesen Code so anpassen, dass er funktioniert, wenn RESPONSE kein String mehr ist, sondern ein Linq.Xelement?

        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));

                }

            }

1voto

Jon Skeet Punkte 1325502

Meinen Sie damit, dass Sie eine XmlDocument aus einer XElement ?

Der einfachste Weg, dies zu tun, könnte folgender sein:

XmlDocument doc = new XmlDocument();
using (XmlReader reader = element.CreateReader())
{
    doc.Load(reader);
}

Allerdings muss ich sagen, dass der Code wahrscheinlich einfacher wäre, wenn Sie einfach alles in LINQ to XML konvertieren würden, was im Allgemeinen eine schönere API ist, um damit zu beginnen. Gibt es einen Grund, warum Sie mit XmlDocument ?

0voto

Prutswonder Punkte 9476

Sie können verwenden XElement.ToString() um eine XML-Zeichenkette aus der XElement die Sie in Ihr System laden können XmlDocument :

XmlDocument xmlDocument = LoadXMLDocument(yourXElement.ToString());

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X