1

nth_element_name

public partial class XML_3 : Window
{
    public XML_3()
    {
        this.InitializeComponent();

        XmlDocument doc = new XmlDocument();
        doc.Load("D:/sample.xml");


        XmlNodeList student_list = doc.GetElementsByTagName("Student");

        foreach (XmlNode node in student_list)
        {
            XmlElement student = (XmlElement)node;

            int element_count = student.ChildNodes.Count;               

        }
    }
}

上記のコードでは、ルート要素 (Student) 以外の要素の数を取得できます。現在、カウントは 3 です。

しかし、2ed要素名(Kavi)、属性要素名(ID)、子要素名(FName、MName)を取得する必要があります。

それらのものを得るために私は何をすべきか.

私を助けてください...

4

1 に答える 1

1

XDocument を使用します (なぜですか? ):

var doc = XDocument.Parse(xml); // OR Load(...)

var nodeCount = doc.Elements().Count();
var secondNode = doc.Elements().Skip(1).First();
var studentName = secondNode.Name;
var studentId = secondNode.Attribute("ID").Value;

または(コードの場合):

var secondNode = student.ChildNodes[1] as XmlElement;
var studentName = secondNode.LocalName;
var studentId = secondNode.Attributes["ID"];

追加

var secondNode = student.ChildNodes[1];
var fName =
    secondNode.ChildNodes.Cast<XmlElement>().FirstOrDefault(x => x.LocalName == "FName").InnerText;
var mName =
    secondNode.ChildNodes.Cast<XmlElement>().FirstOrDefault(x => x.LocalName == "MName").InnerText;
var studentId = secondNode.Attributes["ID"].Value;
于 2012-06-08T11:29:11.087 に答える