关于xml的面试题目,求高手解答下
1.写出班级号为2的所有学生的xpath
<学校>
<班级 班号="1">
<学生 姓名="张三"/>
<学生 姓名="李四"/>
…
</班级>
<班级 班号="2">
<学生 姓名="王二"/>
…
</班级>
</学校>
2.有以下XML文档,请用Xpath查询出下列 符号name属性为“RBC”、且子节点<结论>不为空的节点。
<符号 name=’RBC’>
<名称>红细胞</名称>
<检验值>180g/L</检验值>
<结论>+</结论>
</符号>
<符号/>
------解决方案--------------------学校/班级[@班号=2]/@班号"
------解决方案-------------------- XmlDataDocument xd = new XmlDataDocument();
xd.Load(@"..\..\XMLFile1.xml");
XmlNode node = xd.SelectSingleNode("符号[@name=\"'RBC'\"]/结论");
if(node.InnerText!="")
Console.WriteLine(node.InnerText);
------解决方案--------------------XmlNodeList list = doc.SelectedNodes("/学校/班级[@班号=2]/学生");
XmlNodeList list = doc.SelectedNodes("/符号s/符号[@name='RBC' and 结论[string-length(.) > '0']]");
你的第二个不是标准的XML
我加了个根节点“符号s”
------解决方案--------------------1--》
C# code
XmlNodeList result = doc.SelectNodes("//学校/班级[@班号=1]/学生");
foreach (XmlNode item in result)
{
Response.Write(string.Format("{0}-----{1}", item.Name, item.Attributes["姓名"].Value));
}