2014-06-09 134 views

回答

1

要查詢前綴必須使用XmlNamespaceManager註冊適當的前綴到命名空間URI的映射元素,然後用它在你的XPath註冊的前綴,例如:

var xml = @"<root xmlns:w=""test""> 
    <w:t>WARNING</w:t> 
</root>"; 
var xmlDoc = new XmlDocument(); 
xmlDoc.LoadXml(xml); 

var nsManager = new XmlNamespaceManager(xmlDoc.NameTable); 
//register proper prefix-to-namespace-URI mapping 
nsManager.AddNamespace("w", "test"); 

//following XPath used to select <w:t> nodes with inner text contains "WARNING" 
var result = xmlDoc.DocumentElement.SelectSingleNode("//w:t[contains(., 'WARNING')]", nsManager); 
//print result 
Console.WriteLine(result.OuterXml); 
0

試試這個:

var wtNodes = elements.Where(e => e.Name.LocalName.Equals("w:t")); 
var warningNodes = wtNodes.Where(node => node.Value.Contains("WARNING")); 
0

試試這個:

xmlNodeList xNlist= xDoc.selectNodes("//pre:t[.="WARNING"]",objXmlnsMgr); 

這裏: xDoc是XmlDocument; objXmlnsMgr是XmlNamespaceManager('w'在你的情況下)& pre是它的前綴。

相關問題