另一個XML節點我有一些XML文檔中的節點。並且每個文檔都有不同的節點。唯一的共同之處是有_Header和_Table節點。我想要的是得到包含_Header和_Table節點的父節點。如何獲得包含在C#
我希望程序輸出以下節點:
_StatementofNetAssets_T1
_StatementofNetAssets_T2
_StatementofNetAssets_T3
我怎樣才能做到這一點?
另一個XML節點我有一些XML文檔中的節點。並且每個文檔都有不同的節點。唯一的共同之處是有_Header和_Table節點。我想要的是得到包含_Header和_Table節點的父節點。如何獲得包含在C#
我希望程序輸出以下節點:
_StatementofNetAssets_T1
_StatementofNetAssets_T2
_StatementofNetAssets_T3
我怎樣才能做到這一點?
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);
}
}
我也爲u要求,但在第4行「類型‘System.NullReferenceException’未處理的異常發生在XmlToTable.exe 附加信息的錯誤:你調用的對象是空的。」 –
@ShalinkaRandeniya你應該change'「表格/文檔」'代碼'XmlNodeList中節點列表= xmlDoc.SelectSingleNode(「表格/文件」)。ChildNodes'是在XML文件中的節點名稱。 – gdreamlend
你可以使用XDocument
類和XPath快速解析文檔
var elements = XDocument.Load(path).XPathSelectElements("//_Header").Select(q => q.Parent);
您將需要這些命名空間
using System.Linq;
using System.Xml.XPath;
一些實際的XML,而不是一個圖片將是有益的 - 它看起來會有涉及,這意味着可能提供的兩種答案將無法正常工作的命名空間。 –
實際的XML是太混亂了,這就是爲什麼我沒有在這裏添加它 –