有如下XML:
<root>
<books>
<title>
<FACT_ENG_NM>aa</FACT_ENG_NM>
</title>
<FACT_NM>11</FACT_NM>
<FACT_NO>xx</FACT_NO>
</books>
<books>
<title>
<a>
<FACT_ENG_NM>bb</FACT_ENG_NM>
</a>
</title>
<FACT_NM>12</FACT_NM>
<FACT_NO>yy</FACT_NO>
</books>
</root>使用如下語句:
XmlNodeList xnl = xDoc.SelectNodes("/root/books");
for (int i = 0; i < xnl.Count; i++)
{
Response.Write(xnl[i].SelectSingleNode("//FACT_ENG_NM").InnerText + "***<br>");
}問題:不明白為什麼顯示如下結果
aa***
aa***在語句不變的情況下可以通過修改xPath取到如下結果嗎?
aa***
bb***
<root>
<books>
<title>
<FACT_ENG_NM>aa</FACT_ENG_NM>
</title>
<FACT_NM>11</FACT_NM>
<FACT_NO>xx</FACT_NO>
</books>
<books>
<title>
<a>
<FACT_ENG_NM>bb</FACT_ENG_NM>
</a>
</title>
<FACT_NM>12</FACT_NM>
<FACT_NO>yy</FACT_NO>
</books>
</root>使用如下語句:
XmlNodeList xnl = xDoc.SelectNodes("/root/books");
for (int i = 0; i < xnl.Count; i++)
{
Response.Write(xnl[i].SelectSingleNode("//FACT_ENG_NM").InnerText + "***<br>");
}問題:不明白為什麼顯示如下結果
aa***
aa***在語句不變的情況下可以通過修改xPath取到如下結果嗎?
aa***
bb***
for (int i = 0; i < xnl.Count; i++)
{ Response.Write(xnl[i].InnerText + "*** <br>");
}
http://www.w3school.com.cn/xpath/对于xml文件的处理使用序列化和反序列化会简单很多,建议看看