十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問題一站解決
最近使用Sgml組件,在使用XPath語(yǔ)句獲取Notes時(shí),總是無(wú)法查找節(jié)點(diǎn),卻能找屬性值類似"http://@alt",
成都創(chuàng)新互聯(lián)專注于法庫(kù)企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城開發(fā)。法庫(kù)網(wǎng)站建設(shè)公司,為法庫(kù)等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
- StringBuilder sb = new StringBuilder();
- XPathDocument doc = new XPathDocument(new StringReader(sw.ToString()));
- XPathNavigator nav = doc.CreateNavigator();
- XPathNodeIterator nodes = nav.Select(xpath);
- while (nodes.MoveNext())
- {
- ***********
- }
結(jié)果發(fā)現(xiàn)原因就在于上面的xml文檔中使用了命名空間,當(dāng)xml中定義了命名空間時(shí),在查找節(jié)點(diǎn)的時(shí)候需要使用下面的方法:
參數(shù) =》 strNamespaceURL = “//ns:body”;
- StringBuilder sb = new StringBuilder();
- XPathDocument doc = new XPathDocument(new StringReader(sw.ToString()));
- XPathNavigator nav = doc.CreateNavigator();
- XmlNamespaceManager nsMgr = new XmlNamespaceManager(nav.NameTable);
- if (strNamespaceURL != null)
- {
- nsMgr.AddNamespace("ns", strNamespaceURL);
- }
- XPathNodeIterator nodes = nav.Select(xpath, nsMgr);
- while (nodes.MoveNext())
- {
- ********
- }
注意添加的命名空間名:ns也是區(qū)分大小寫的
可參照文章:
http://www.cnblogs.com/linlf03/archive/2011/11/30/2268705.html
http://developer.51cto.com/art/200908/144652.htm