如何使用c#从XML中获取特定的数据

本文关键字:数据 获取 何使用 XML | 更新日期: 2023-09-27 18:16:09

我试图从Xml文件中获取特定数据以显示在文本框中。我的Xml文件名为"test.xml",代码如下

<?xml version="1.0" encoding="utf-8" ?>
<Body>
    <Context>
        <PageNo>a87</PageNo>
        <Verse>"Do it right"</Verse>
    </Context>
</Body>

我的c#代码如下:编辑以反映最近的更改

   using System;
   using System.Collections.Generic;
   using System.ComponentModel;
   using System.Data;
   using System.Drawing;
   using System.Linq;
   using System.Text;
   using System.Threading.Tasks;
   using System.Windows.Forms;
   using System.Xml;
   namespace learn2
   {
     public partial class Form1 : Form
     {
       public Form1()
       {
         InitializeComponent();
       }
       private void Form1_Load(object sender, EventArgs e)
       {
         pageid1();
       }
           private void pageid1()
    {
    textBox1.Clear();
    XmlDocument doc = new XmlDocument();         
    doc.Load("C:''test.xml"); 
    var pagenoNodeList = doc.SelectNodes("Body/Context/PageNo");
    var pageNoNode = pagenoNodeList[0]; // To select the first node
    var text = pageNoNode.InnerText;    // Gets the text value inside the node
    textBox1.Text = text;
}       }
  }
我非常感谢任何帮助。由于

如何使用c#从XML中获取特定的数据

您需要识别您正在寻找的节点,因为SelectNodes返回System.Xml.XmlNodeList,然后获得InnerText的值:

var pagenoNodeList = doc.SelectNodes("Body/Context/PageNo");
var pageNoNode = pagenoNodeList[0]; // To select the first node
var text = pageNoNode.InnerText;    // Gets the text value inside the node
textBox1.Text = text;