我有一个dataGridview1,我想在其中添加两列并从一个XML文件中填充值。
我需要从XML文件中提取的值有标签。"Name", "Status" 和 "IP" 。它们位于 "项目 "节点内。
我需要将XML文件中的名称匹配到一个dataGridview列(columnName)中,如果匹配,我需要将 "状态 "和 "IP",放到dataGridView中新添加的列中。
XML文件对我来说提取数据似乎很复杂。我不能使用数据集,因为它抛出一个错误,"项目 "在嵌套表中使用了两次。我试着使用Xpath,但我不能从XML中获取数据所需的Xpath字符串。
欢迎任何帮助。谢谢你的帮助。
这里是我需要数据的XML文件的链接。https:/net-perm.s3.amazonaws.comtest.xml。
XmlDocument doc = new XmlDocument();
doc.LoadXml(CUCMReply);
Int ColumnIndex; //Known value
String ColumnName; //Known value
dataGridView1.Columns.Add(columnName + "RegisterStatus", columnName + "RegisterStatus");
dataGridView1.Columns.Add(columnName + "IP", columnName + "IP");
如果你想写一个XPath表达式,你可以使用(local-name()
以规避命名空间问题) 。
//*[local-name()="item"]/*[local-name()="Name"][contains(.,"columnName")]/following::*[local-name()="Status" and ancestor::*[2][local-name()="CmDevices"] or local-name()="IP"][position()<3]
哪儿 "columnName"
是你要匹配的值,每匹配一次,它将输出两个节点。状态和IP。