1
我正在使用HTMLAgilityPack讀取和加載XML文件。文件加載後,我想從它插入到數據庫中的值。C#Xpath僅返回第一個元素
XML看起來是這樣的:
<meeting>
<jobname></jobname>
<jobexperience></jobexperience>
</meeting>
我試圖完成一個foreach循環中這樣使用XPath語句,在這裏看到:
DataTable dt = new DataTable();
//Add Data Columns here
dt.Columns.Add("JobName");
dt.Columns.Add("JobExperience");
// Create a string to read the XML tag "job"
string xPath_job = "//job";
string xPath_job_experience = "//jobexperience";
/* Use a ForEach loop to go through all 'meeting' tags and get the values
from the 'JobName' and 'JobExperience' tags */
foreach (HtmlNode planned_meeting in doc.DocumentNode.SelectNodes("//meeting"))
{
DataRow dr = dt.NewRow();
dr["JobName"] = planned_meeting.SelectSingleNode(xPath_job).InnerText;
dr["JobName"] = planned_meeting.SelectSingleNode(xPath_job_experience).InnerText;
dt.Rows.Add(dr);
}
所以問題是,即使在foreach循環正在經歷每個「會議」標記,它只從第一個「會議」標記獲取值。
任何幫助將不勝感激!
我覺得你的XPath查詢應該僅僅是'作業名稱''和'jobexperience',沒有斜槓。 –
Yup xPath_ *變量不能有斜槓。 – StuartLC
請參閱[此便利頁](https://www.w3schools.com/xml/xpath_syntax.asp)瞭解XPath備忘單。 –