2
我有一個簡單的xml,我創建了一個XmlDocument,並使用Xpath來獲取節點,我需要將此節點傳遞給代碼的其他部分,我可以使用其他xpath函數在XmlNode對象上獲取其他子節點。但在下面XmlNode上的SelectSingleNode方法返回未定義的值
string xmlString = "<catalog><music><cds><cd><title>First Title</title><author>Author 1</author></cd><cd><title>Second Title</title><author>Author 2</author></cd></cds></music></catalog>";
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(xmlString);
XmlNode musicNode = xmlDocument.SelectSingleNode("/catalog/music");
XmlNode cdsNode = musicNode.SelectSingleNode("/cds");
當我打印的musicNode名
的代碼,我得到「音樂」,所以我認爲我有「音樂」節點。所以,我再次在音樂節點上應用XPath表達式「/ CDS」假設我會得到「CDS」的XmlNode,但cdsNode的代碼返回未定義的值,但如果我不
XmlNode cdsNode = musicNode.SelectSingleNode("/catalog/music");
我得到一個有效的值對於再次是「音樂」節點的cdsNode,我想musicNode代表XmlDocument而不是「音樂」XmlNode ???我是否錯過了某些東西,我是從Java和Java導航到節點的子節點,可能使用xpath,就像xpath表達式中的「/ cds」一樣,musicNode會返回一個有效的cdNode