-1

私はxmlを持っています:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<UpdateMemberHireStatus xmlns="http://tempuri.org/">
  <member>
    <HireAvailability>
      <code>1</code>
      <name>פנוי</name>
    </HireAvailability>
    <HireRejectReason>
      <code>2</code>
      <name>wow</name>
    </HireRejectReason>
    <IdNumber>43504349</IdNumber>
    <note> </note>
  </member>
</UpdateMemberHireStatus>

LINQを使用してxml内のすべてのノードにアクセスしたいと思います。

これが私が試したことです:

XNamespace ns = "tempuri.org/";
IEnumerable<HireStatus> status = from r in doc.Descendants(ns + "UpdateMemberHireStatus")
                                              .Descendants(ns + "member") 
                                 select new HireStatus() { }; 
return status.ToList();
4

3 に答える 3

0

子孫を使用する

var xml = XDocument.Load(XMLStream);
var allEle = xml.Descendants("UpdateMemberHireStatus"); //you can do linq now. 
于 2012-12-10T06:50:14.703 に答える
0

次の方法でも XDocument を使用できます。

        string xmlPath = "D://member.xml";
        XmlDocument doc = new XmlDocument();
        xdoc = XDocument.Load(xmlPath);
        doc.LoadXml(xdoc.ToString());
        var memberStatus= (from mem in xdoc.Descendants("member")
                               select mem);

        foreach (XElement element in memberStatuses.ToList())            
            IEnumerable<XNode> nodes = element.Nodes();
于 2012-12-10T09:39:20.597 に答える
-1

var x = XElement.Load(XMLStream);

var all = x.DescendantNodes();

于 2012-12-10T08:54:50.163 に答える