读取内容如下:
<ref-list>
<title>References</title>
<ref id="r1">
<label>1</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yashchuk</surname>
<given-names>V. V.</given-names>
</name>
</person-group>,
<source>Proc. SPIE </source>
<volume>6317</volume>,
<fpage>63170A</fpage>
(<year>2006</year>).
</mixed-citation>
</ref>
</ref-list>
c# :
XmlNodeList xlist =XmlDocument.SelectSingleNode('').ChildNodes;
foreach (XmlElement el in xlist)//读元素值
{
这里可以读取到 ref 值
我还要读name 下surname 相关的值 ,如何写?
}
------解决思路----------------------
继续嵌套foreach(){
里面来判断
}
------解决思路----------------------
写个相对路径不就好了,取第一个匹配到的surname
XmlNode node =XmlDocument.SelectSingleNode("//person-group/name/surname");
var txt = node.InnerText;
------解决思路----------------------
使用 linq to xml
------解决思路----------------------
可以考虑序列化处理
------解决思路----------------------
多个也差不多,取所有name节点
XmlNodeList xlist =XmlDocument.SelectNodes("/person-group//name/");
foreach (XmlNode node in xlist)//读元素值
{
var surname = node.ChildNodes[0].InnerText;
}