我有几个xml文档。每个文档都有不同的节点。唯一常见的是它有_Header和_Table节点。我想要的是获取包含_Header和_Table节点的父节点。
我希望程序输出以下节点:
_StatementofNetAssets_T1
_StatementofNetAssets_T2
_StatementofNetAssets_T3
我该怎么做?
答案 0 :(得分:1)
XmlDocument xmlDoc=new XmlDocument();
string xmlname=Server.MapPath("*.xml").ToString();
xmlDoc.Load(xmlname);
XmlNodeList nodeList=xmlDoc.SelectSingleNode("form/Documents").ChildNodes;//get all child nodes
foreach(XmlNode xn in nodeList)
{
XmlElement xe2=(XmlElement)xn;
if(xe2.InnerText=="_Header"||xe2.InnerText=="_Table nodes")
{
XmlNode xn3=xn.ParentNode;
XmlElement xe=(XmlElement)xn3;
Console.WriteLine(xe.InnerText);
}
}
答案 1 :(得分:1)
您可以使用XDocument
课程和XPath快速解析文档
var elements = XDocument.Load(path).XPathSelectElements("//_Header").Select(q => q.Parent);
您将需要这些名称空间
using System.Linq;
using System.Xml.XPath;