最近使用Sgml組件,在使用XPath語句獲取Notes時,總是無法查找節(jié)點(diǎn),卻能找屬性值類似"//@alt",
成都創(chuàng)新互聯(lián)專注于法庫企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城開發(fā)。法庫網(wǎng)站建設(shè)公司,為法庫等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計,全程項(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中定義了命名空間時,在查找節(jié)點(diǎn)的時候需要使用下面的方法:
參數(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
網(wǎng)站題目:c#xmlXPathSelectNodes,SelectSingleNode無法獲取
本文鏈接:http://aaarwkj.com/article6/pegpog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)、小程序開發(fā)、網(wǎng)站改版、品牌網(wǎng)站建設(shè)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)