我想在表单上显示第一个节点 XML 属性?
I want to display the first node XML attribute on form?
我有这个 XML 文件:
<tree>
<grand name ="tom" id="1" sex="m" status="d" child="2" father="" />
<grand name="adam" id="11" sex="m" status="d" child="1" father="1" />
<grand name="john" id="111" sex="m" status="d" child="1" father="11" />
<grand name="pierre" id="1111" sex="m" status="d" child="3" father="111" />
<grand name="jan" id="11111" sex="f" status="d" child="" father="1111" />
<grand name="marc" id="11112" sex="m" status="d" child="" father="1111" />
</tree>
我尝试使用此代码仅在加载表单时显示第一个节点的属性:
private void Form1_Load(object sender, EventArgs e)
{
XmlDocument XDoc = new XmlDocument();
XDoc.Load("F:\tree.xml");
XmlNode att = XDoc.SelectSingleNode("//grand/@name");
string nam = att.ToString();
label1.Text = att;
}
但我一无所获。
非常感谢。
您可以使用 linq 和 XDocument:
XDocument doc = XDocument.Load("F:\tree.xml");
var result= xdoc.Descendants("grand").First().Attribute("name").Value;
label1.Text = result;
或过滤 id
属性 。
您必须为其包含 System.Xml.Linq
命名空间。
我有这个 XML 文件:
<tree>
<grand name ="tom" id="1" sex="m" status="d" child="2" father="" />
<grand name="adam" id="11" sex="m" status="d" child="1" father="1" />
<grand name="john" id="111" sex="m" status="d" child="1" father="11" />
<grand name="pierre" id="1111" sex="m" status="d" child="3" father="111" />
<grand name="jan" id="11111" sex="f" status="d" child="" father="1111" />
<grand name="marc" id="11112" sex="m" status="d" child="" father="1111" />
</tree>
我尝试使用此代码仅在加载表单时显示第一个节点的属性:
private void Form1_Load(object sender, EventArgs e)
{
XmlDocument XDoc = new XmlDocument();
XDoc.Load("F:\tree.xml");
XmlNode att = XDoc.SelectSingleNode("//grand/@name");
string nam = att.ToString();
label1.Text = att;
}
但我一无所获。
非常感谢。
您可以使用 linq 和 XDocument:
XDocument doc = XDocument.Load("F:\tree.xml");
var result= xdoc.Descendants("grand").First().Attribute("name").Value;
label1.Text = result;
或过滤 id
属性
您必须为其包含 System.Xml.Linq
命名空间。