xml代码:
<Report> <ChartData> <ListName>area</ListName> <ViewName>Selecte List</ViewName> <YAxisFields> <YAxisField> <Name>Scheduled Start Date/Time</Name> <DataType>DateTime</DataType> <Category>Year</Category> </YAxisField> </YAxisFields> <XAxisFields> <XAxisField> <Name>Release Type</Name> <DataType>String</DataType> <Category> </Category> </XAxisField> </XAxisFields> </ChartConfig> </Report>
我使用下面的代码获得了子节点列表名和视图名的值,
XmlDocument doc = new XmlDocument(); doc.Load("XmlFileName"); XmlNodeList node = doc.SelectNodes("Report/ChartData"); foreach (XmlNode xn in node) { xn["ListName"].InnerXml = chartname; xn["ViewName"].InnerXml = SelectedList; **xn["YAxisFields/YAxisField"].InnerXml = yaxisfield; //not working, need to get the value for this xml node,need help in this line dono how to proceed** doc.Save("XmlFilename"); }
首先我尝试使用这样的代码而不是上面的代码,在此我需要创建对象数量以便获取每个节点的值所以我尝试通过为 xmlnodelist 创建对象然后我使用 foreach 循环来获取每个节点的值但是在此无法获得 YAxisFields/YAxisField 的值,因为它还具有作为 YAxisFields 的父节点和作为 YAxisField 的子节点,因此只有为 xmlnode 创建对象数量的方法,或者有没有其他方法可以做到这一点?
XmlDocument doc = new XmlDocument(); doc.Load("XmlFileName"); XmlNode Listnode = doc.SelectSingleNode("Report/ChartData/ListName"); XmlNode Viewnode = doc.SelectSingleNode("Report/ChartData/ViewName"); if (Listnode != null) { Listnode.InnerXml = chartname; Viewnode.InnerXml = SelectedList; ; doc.Save("XmlFileName");
问问题
189 次