这种XML解析会起作用吗?

时间:2010-08-16 16:38:57

标签: c# linq linq-to-xml xml-parsing

public Envio(int id)
{
    XDocument xml = XDocument.Parse(LoadFromService(id));
    ID = xml.Element("envio")
            .Element("de").Value;

    De = xml.Element("envio")
            .Element("de").Value;

    Para = xml.Element("envio")
            .Element("para").Value;

    Fecha = xml.Element("envio")
            .Element("fecha").Value;

    Descripcion = xml.Element("envio")
            .Element("descripcion").Value;
}



/*
    * <xml>
    *  <envio id="123">
    *      <de>Sergio</de>
    *      <para>Gabriela</para>
    *      <fecha>10/10/2010</fecha>
    *      <descripcion>Una moto de 30kg.</descripcion>
    *  </envio>
    * </xml>
    */

我想提取所有信息以及根标签的ID属性Envio。

任何帮助?

2 个答案:

答案 0 :(得分:1)

好吧,你似乎没有对属性(id)做任何事情。

也;而不是.Value,cast是首选,因为它将通过返回null来处理丢失的数据。

SomeProp = (string)node.Element("foo");

答案 1 :(得分:0)

您的xml变量是一个包含单个<xml>标记的XDocument对象。

因此,xml.Element("envio")为空。

相反,您需要编写xml.Root.Element("envio")