今天做乙個第三方資料對接,從第三方系統獲取一些內容之後進行處理。不過遇到了乙個問題,返回的內容是包含在xml節點中的,要從xml節點中把有效內容提取出來,因為xml格式有些特殊,用之前的xmldocument的一些**有報錯。
xml內容如下:
(有效內容...)
帶了namespace,因此需要對原有的**進行一些調整,經過一番探索,找到了正確的提取辦法:
參考:
xmldocument doc = new xmldocument();
doc.loadxml(resp);
//namespace的問題要處理一下
xmlnamespacemanager nsmgr = new xmlnamespacemanager(doc.nametable);
nsmgr.addnamespace("ns", "");
xmlnode node = doc.selectsinglenode("ns:getallquickinforesponse/ns:return", nsmgr);
console.writeline("節點:" + node.innertext);
提取成功:
總結:對於xml節點的名稱,一開始看不懂,為什麼是 ns:***x這種形式的?後來搞清楚了,ns是個簡寫,後面的xmlns:ns=" 就是對這個ns的具體說明。
C 中的全域性namespace
我們應該知道傳統的c 只有乙個全域性的namespace,但是由於現在的程式的規模越來越大,程式的分工越來越細,全域性作用域變得越來越擁擠,每個人都可能使用相同的名字來實現不同的庫,於是程式設計師在合併程式的時候就會可能出現名字的衝突。namespace引入了複雜性,解決了這個問題。namespac...
c 的namespace使用經驗
這幾天剛開始看c 其namespace部分困住了我一會,經過多處查詢資料,終於弄明白,現將經驗整理如下 比如我在 namespace n1 裡建乙個類a,裡面有幾個方法,然後在 ns2.cs裡引用n1,並且呼叫其中的方法。簡單 如下 ns1.cs using system namespace n1 ...
C 中namespace的使用
c 中經常會使用到namespace關鍵字,那麼到底什麼是namespace呢?它有什麼用呢?namespace直譯就是命名空間的意思,它是一種邏輯分組機制,將按照某些標準在邏輯上屬於同乙個任務的所有類宣告放在同乙個命名空間。最常用到的using namespace std就是在標準c 中所有包含的...