使用旧方式通过XmlDocument,
string xmlstring = "<root><profile><Name>John</Name><Age>23</Age></profile></root>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlstring);
string childNodes = xmlDoc.SelectSingleNode("root/Profile").InnerXml;
// output of childNodes would be => "<Name>John</Name><Age>23</Age>";
当你有XElement变量时,在LinQ中执行上述执行的等价物是什么。我在XElement中看到XPathSelectElement方法,但它不返回子节点+子节点文本。任何想法?
答案 0 :(得分:3)
我根本不会使用XPath。我会用:
XDocument doc = XDocument.Parse(xmlString);
var nodes = doc.Root
.Elements("profile")
.DescendantsAndSelf();
给出profile
个节点及其所有后代。目前还不清楚你要对结果做些什么,但如果你能提供更多细节,我应该能够提出适当的代码。