我測試了SelectSingleNode
功能如下從Visual Studio中的XMLNode對象取一個節點:的SelectSingleNode返回任何
Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(xmlDoc.NameTable)
nsmgr.AddNamespace(ndListItems.Prefix, ndListItems.NamespaceURI)
Dim dummy As XmlNode = ndListItems.SelectSingleNode("/listitems", nsmgr)
在這一點上,我只是試圖讓根節點我正在使用前綴和namespaceURI屬性來添加到XmlNamespaceManager
。問題是,當我運行調試器時,虛擬變量沒有被分配,即它沒有。只是要注意,當我分析了前綴和命名空間屬性的值,有如下幾點,PREFIX =「」和的namespaceURI =「http://schemas.microsoft.com/sharepoint/soap」
UPDATE:
試圖改變代碼,但我的虛擬的XMLNode仍然沒有得到設置
Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(xmlDoc.NameTable)
nsmgr.AddNamespace(ndListItems.Prefix, ndListItems.NamespaceURI)
Dim dummy As XmlNode = ndListItems.SelectSingleNode("/" + ndListItems.Prefix + "listitems", nsmgr)
這裏是我想要得到的XML代碼片段,我的終極目標是訪問z的屬性: row node
<listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<rs:data ItemCount="1">
<z:row ows_Title="Newhire" ows_FirstName="Rick" ows_WorkPhone="954" ows_HomePhone="954" ows_Email="[email protected]" ows_UserID="Rick.Newhire" ows_MetaInfo="9;#" ows__ModerationStatus="0" ows__Level="1" ows_ID="9" ows_owshiddenversion="1" ows_UniqueId="9;#{0F6251A9-D3B8-4B07-A5F8-23BAF5F2237E}" ows_FSObjType="9;#0" ows_Created="2010-08-18 15:56:40" ows_FileRef="9;#Lists/NewHires/9_.000" />
</rs:data>
</listitems>
你應該顯示你的XML代碼片段,以及如何創建'XmlDocument' – Strelok 2010-08-18 23:33:13
好問題(+1)。請參閱我的回答以解釋問題和解決方案。 – 2010-08-19 02:36:33