<Tables>
<Table name="Test">
<tablename>TestTable</tablename>
<refTable>NULL</refTable>
<refTableIDColumn>NULL</refTableIDColumn>
</Table>
</Tables>
以上是我的XML输入。我可以使用下面的代码
按表名提取节点XmlNodeList companyList = doc.GetElementsByTagName("Table");
我想要给Table
节点的名称。例如,我希望文本为"Test"
。我怎么做到这一点。请帮忙。
答案 0 :(得分:1)
可以使用XPath过滤/查询XmlNodeList
。在您的情况下,您希望查找name
的{{1}}属性,例如:
Table
您的结果将是XmlAttributes的集合,可以使用var tableNames = doc.SelectNodes("//Table/@name");
属性检索实际名称。
See it in action on DotNetFiddle
btw:您的上一个xml标记缺少InnerText
答案 1 :(得分:1)
假设您的C
驱动器中的xml文件名为test.xml
,那么您可以使用此代码获取名称
XDocument xDoc = XDocument.Load(@"C:\test.xml");
XElement root = xDoc.Element("Tables"); // select root
XElement elm1 = root.Element("Table"); // get elm1 == null
string name = elm1.Attribute("name").Value;